home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega Top 1
/
os2_top1.zip
/
os2_top1
/
APPS
/
FILEMAN
/
PC2_180
/
SOURCE.ZIP
/
Makefile
Wrap
Makefile
|
1995-01-01
|
6KB
|
191 lines
#===================================================================
#
# PC/2 - Program Commander/2 Makefile
#
#===================================================================
# ICC Flags
# /Ti Include debug information for IPMD
# /Kb+ Warning, if no prototypes found (prevents from incorrect params)
# /c Compile only, we link more than one ressource
# /Se Allow IBM C language extentions and migration
# /Ms Set the default linkage to _System
# /Re Produce Code in IBM C Set/2 Run Time environment
# /ss Allow // as comments
# /Gm+ Link with multitasking libraries, because we're multithreaded
# /Rn No language environment. Allow system programming and subsystem development
# /Ge- Link with libraries that assume a DLL
# /Gs- Remove stack probes
# /O+ Turn on code optimization (turns also function inlining on)
# /Oi+ Turn on function inlining
!ifndef NODEBUG
CFLAGS = /Ti /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+
CFLAGSDLL= /Ti /Kb+ /c /Se /Ms /Re /ss /W3 /Ge-
!else
CFLAGS = /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+
CFLAGSDLL= /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3 /Ge-
!endif
# LINK386 Flags
# /DEBUG Include debug information for IPMD
# /NOE NO Extented dictionary, don't assume any library dependencies
# /NOD NO Default library, ignore the library names in object files
# /NOI NO Ignore case
# /A:16 Align on paragraph for PM programs
# /M Produce map
# /E Exepack to compress pages within the executable
# /F Farcalltranslation to optimize far calls by avoiding selector reloads
# /PACKC Overwrite Packcode default of 65530 to 0x40000
!ifndef NODEBUG
LFLAGS = /DEBUG /NOE /NOD /ALIGN:16 /MAP /NOI /E /F /PACKC:0x40000
!else
LFLAGS = /NOE /NOD /ALIGN:16 /NOI /E /F /PACKC:0x40000
!endif
# Libraries
# DD4MBS Multitasking standard library
# DD4NBS Singletasking standard library
# OS2386 OS/2 2.0 Link library
LIBS = DDE4MBS + OS2386
LIBSS = DDE4NBS + OS2386
# Directories
# \. Executables, help panels, DLLs, documentation, profiles
# \Source Source, object modules, headers
SRC=Source
# SC Flags
# -v Verbose mode
# -r Check that release order entries exist
# -d Output directory of emitted file
#
# For the SOM compiler, the following environment variables are assumed
# to be set for the IBM OS/2 Developer's Toolkit 2.1:
#
# SET SMINCLUDE=.;C:\TOOLKT21\SC;
# SET SMTMP=G:\
# SET SMEMIT=ih;h;ph;psc;sc;c;def
SCFLAGS = -v -r -d $(SRC)
CC = icc $(CFLAGS)
SC = sc $(SCFLAGS)
CCDLL = icc $(CFLAGSDLL)
LINK = LINK386 $(LFLAGS)
HEADERS = $(SRC)\PC2.h $(SRC)\Error.h
ALL_OBJ = $(SRC)\PC2.obj $(SRC)\Dialog.obj $(SRC)\Utility.obj $(SRC)\Error.obj $(SRC)\Thread.obj
all: PC2.exe PC2.hlp PC2Hook.dll PC2Spool.dll WPS2PC2.dll WPS2PC2.hlp
clean:
-!del *.exe
-!del $(SRC)\*.obj
-!del $(SRC)\*.res
-!del $(SRC)\*.l
save:
-!del PC2-Save.zip
zip -9 -r PC2 *
unzip -t PC2
copy PC2.zip PC2-Save.zip /v
$(SRC)\Dialog.obj: $(SRC)\Dialog.c $(HEADERS)
$(CC) /Fo$(SRC)\Dialog.obj $(SRC)\Dialog.c
$(SRC)\Utility.obj: $(SRC)\Utility.c $(HEADERS)
$(CC) /Fo$(SRC)\Utility.obj $(SRC)\Utility.c
$(SRC)\Thread.obj: $(SRC)\Thread.c $(HEADERS)
$(CC) /Fo$(SRC)\Thread.obj $(SRC)\Thread.c
$(SRC)\Error.obj: $(SRC)\Error.c $(SRC)\Error.h
$(CC) /Fo$(SRC)\Error.obj $(SRC)\Error.c
$(SRC)\PC2.obj: $(SRC)\PC2.c $(HEADERS)
$(CC) /Fo$(SRC)\PC2.obj $(SRC)\PC2.c
$(SRC)\WPS2PC2.c: $(SRC)\WPS2PC2.csc $(HEADERS)
$(SC) $(SRC)\WPS2PC2.csc
$(SRC)\WPS2PC2.obj: $(SRC)\WPS2PC2.c $(SRC)\WPS2PC2.h $(SRC)\WPS2PC2.ih $(SRC)\WPS2PC2.sc $(HEADERS)
$(CCDLL) /Fo$(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.c
PC2.hlp: $(SRC)\PC2.ipp
cd $(SRC) >NUL
ipfcprep PC2.ipp PC2.ipf /D IPFC
ipfc PC2.ipf
cd .. >NUL
copy $(SRC)\PC2.hlp PC2.hlp >NUL
del $(SRC)\PC2.hlp >NUL
$(SRC)\PC2.l: Makefile
echo $(ALL_OBJ) > $(SRC)\PC2.l
echo PC2.exe >> $(SRC)\PC2.l
echo $(SRC)\PC2.map >> $(SRC)\PC2.l
echo $(LIBS) >> $(SRC)\PC2.l
echo $(SRC)\PC2.def >> $(SRC)\PC2.l
echo $(SRC)\PC2Hook.obj > $(SRC)\PC2Hook.l
echo PC2Hook.dll >> $(SRC)\PC2Hook.l
echo $(SRC)\PC2Hook.map >> $(SRC)\PC2Hook.l
echo $(LIBS) >> $(SRC)\PC2Hook.l
echo $(SRC)\PC2Hook.def >> $(SRC)\PC2Hook.l
echo $(SRC)\PC2Spool.obj > $(SRC)\PC2Spool.l
echo PC2Spool.dll >> $(SRC)\PC2Spool.l
echo $(SRC)\PC2Spool.map >> $(SRC)\PC2Spool.l
echo $(LIBS) >> $(SRC)\PC2Spool.l
echo $(SRC)\PC2Spool.def >> $(SRC)\PC2Spool.l
echo $(SRC)\WPS2PC2.obj > $(SRC)\WPS2PC2.l
echo WPS2PC2.dll >> $(SRC)\WPS2PC2.l
echo $(SRC)\WPS2PC2.map >> $(SRC)\WPS2PC2.l
echo $(LIBSS) + SOM >> $(SRC)\WPS2PC2.l
echo $(SRC)\WPS2PC2.def >> $(SRC)\WPS2PC2.l
$(SRC)\PC2.res: $(SRC)\PC2.rc $(SRC)\PC2.h $(SRC)\PC2.dlg
cd $(SRC) >NUL
rc -r PC2.rc
cd .. >NUL
$(SRC)\PC2Spool.res: $(SRC)\PC2Spool.rc $(SRC)\PC2.h
cd $(SRC) >NUL
rc -r PC2Spool.rc
cd .. >NUL
$(SRC)\WPS2PC2.res: $(SRC)\WPS2PC2.rc $(SRC)\PC2.h
cd $(SRC) >NUL
rc -r WPS2PC2.rc
cd .. >NUL
$(SRC)\PC2Hook.obj: $(SRC)\PC2Hook.c $(HEADERS)
$(CCDLL) /Fo$(SRC)\PC2Hook.obj $(SRC)\PC2Hook.c
PC2Hook.dll: $(SRC)\PC2Hook.obj $(SRC)\PC2Hook.def $(SRC)\PC2Hook.l
$(LINK) @Source\PC2Hook.l
$(SRC)\PC2Spool.obj: $(SRC)\PC2Spool.c $(HEADERS)
$(CCDLL) /Fo$(SRC)\PC2Spool.obj $(SRC)\PC2Spool.c
PC2Spool.dll: $(SRC)\PC2Spool.obj $(SRC)\PC2Spool.def $(SRC)\PC2Spool.l $(SRC)\PC2Spool.res
$(LINK) @Source\PC2Spool.l
rc $(SRC)\PC2Spool.res PC2Spool.dll
WPS2PC2.dll: $(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.def $(SRC)\WPS2PC2.l $(SRC)\WPS2PC2.res
$(LINK) @Source\WPS2PC2.l
rc $(SRC)\WPS2PC2.res WPS2PC2.dll
WPS2PC2.hlp: $(SRC)\WPS2PC2.ipp
cd $(SRC) >NUL
ipfcprep WPS2PC2.ipp WPS2PC2.ipf /D IPFC
ipfc WPS2PC2.ipf
cd .. >NUL
copy $(SRC)\WPS2PC2.hlp WPS2PC2.hlp >NUL
del $(SRC)\WPS2PC2.hlp >NUL
PC2.exe: $(ALL_OBJ) $(SRC)\PC2.def $(SRC)\PC2.l $(SRC)\PC2.res
$(LINK) @Source\PC2.l
rc $(SRC)\PC2.res PC2.exe