home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / FILEMAN / PC2_180 / SOURCE.ZIP / Makefile
Makefile  |  1995-01-01  |  6KB  |  191 lines

  1. #===================================================================
  2. #
  3. #   PC/2 - Program Commander/2 Makefile
  4. #
  5. #===================================================================
  6.  
  7. # ICC Flags
  8. #   /Ti     Include debug information for IPMD
  9. #   /Kb+    Warning, if no prototypes found (prevents from incorrect params)
  10. #   /c      Compile only, we link more than one ressource
  11. #   /Se     Allow IBM C language extentions and migration
  12. #   /Ms     Set the default linkage to _System
  13. #   /Re     Produce Code in IBM C Set/2 Run Time environment
  14. #   /ss     Allow // as comments
  15. #   /Gm+    Link with multitasking libraries, because we're multithreaded
  16. #   /Rn     No language environment. Allow system programming and subsystem development
  17. #   /Ge-    Link with libraries that assume a DLL
  18. #   /Gs-    Remove stack probes
  19. #   /O+     Turn on code optimization (turns also function inlining on)
  20. #   /Oi+    Turn on function inlining
  21.  
  22. !ifndef NODEBUG
  23. CFLAGS =   /Ti      /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+
  24. CFLAGSDLL= /Ti      /Kb+ /c /Se /Ms /Re /ss /W3      /Ge-
  25. !else
  26. CFLAGS =   /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+
  27. CFLAGSDLL= /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3      /Ge-
  28. !endif
  29.  
  30. # LINK386 Flags
  31. #   /DEBUG  Include debug information for IPMD
  32. #   /NOE    NO Extented dictionary, don't assume any library dependencies
  33. #   /NOD    NO Default library, ignore the library names in object files
  34. #   /NOI    NO Ignore case
  35. #   /A:16   Align on paragraph for PM programs
  36. #   /M      Produce map
  37. #   /E      Exepack to compress pages within the executable
  38. #   /F      Farcalltranslation to optimize far calls by avoiding selector reloads
  39. #   /PACKC  Overwrite Packcode default of 65530 to 0x40000
  40.  
  41. !ifndef NODEBUG
  42. LFLAGS = /DEBUG /NOE /NOD /ALIGN:16 /MAP /NOI /E /F /PACKC:0x40000
  43. !else
  44. LFLAGS =        /NOE /NOD /ALIGN:16      /NOI /E /F /PACKC:0x40000
  45. !endif
  46.  
  47. # Libraries
  48. #   DD4MBS  Multitasking standard library
  49. #   DD4NBS  Singletasking standard library
  50. #   OS2386  OS/2 2.0 Link library
  51. LIBS = DDE4MBS + OS2386
  52. LIBSS = DDE4NBS + OS2386
  53.  
  54. # Directories
  55. # \.        Executables, help panels, DLLs, documentation, profiles
  56. # \Source   Source, object modules, headers
  57. SRC=Source
  58.  
  59. # SC Flags
  60. #   -v      Verbose mode
  61. #   -r      Check that release order entries exist
  62. #   -d      Output directory of emitted file
  63. #
  64. # For the SOM compiler, the following environment variables are assumed
  65. # to be set for the IBM OS/2 Developer's Toolkit 2.1:
  66. #
  67. # SET SMINCLUDE=.;C:\TOOLKT21\SC;
  68. # SET SMTMP=G:\
  69. # SET SMEMIT=ih;h;ph;psc;sc;c;def
  70.  
  71. SCFLAGS = -v -r -d $(SRC)
  72.  
  73. CC = icc $(CFLAGS)
  74. SC = sc $(SCFLAGS)
  75. CCDLL = icc $(CFLAGSDLL)
  76. LINK = LINK386 $(LFLAGS)
  77.  
  78. HEADERS = $(SRC)\PC2.h $(SRC)\Error.h
  79.  
  80. ALL_OBJ = $(SRC)\PC2.obj $(SRC)\Dialog.obj $(SRC)\Utility.obj $(SRC)\Error.obj $(SRC)\Thread.obj
  81.  
  82. all: PC2.exe PC2.hlp PC2Hook.dll PC2Spool.dll WPS2PC2.dll WPS2PC2.hlp
  83.  
  84. clean:
  85.     -!del *.exe
  86.     -!del $(SRC)\*.obj
  87.     -!del $(SRC)\*.res
  88.     -!del $(SRC)\*.l
  89.  
  90. save:
  91.     -!del PC2-Save.zip
  92.     zip -9 -r PC2 *
  93.     unzip -t PC2
  94.     copy PC2.zip PC2-Save.zip /v
  95.  
  96. $(SRC)\Dialog.obj: $(SRC)\Dialog.c $(HEADERS)
  97.     $(CC) /Fo$(SRC)\Dialog.obj $(SRC)\Dialog.c
  98.  
  99. $(SRC)\Utility.obj: $(SRC)\Utility.c $(HEADERS)
  100.     $(CC) /Fo$(SRC)\Utility.obj $(SRC)\Utility.c
  101.  
  102. $(SRC)\Thread.obj: $(SRC)\Thread.c $(HEADERS)
  103.     $(CC) /Fo$(SRC)\Thread.obj $(SRC)\Thread.c
  104.  
  105. $(SRC)\Error.obj: $(SRC)\Error.c $(SRC)\Error.h
  106.     $(CC) /Fo$(SRC)\Error.obj $(SRC)\Error.c
  107.  
  108. $(SRC)\PC2.obj: $(SRC)\PC2.c $(HEADERS)
  109.     $(CC) /Fo$(SRC)\PC2.obj $(SRC)\PC2.c
  110.  
  111. $(SRC)\WPS2PC2.c: $(SRC)\WPS2PC2.csc $(HEADERS)
  112.     $(SC) $(SRC)\WPS2PC2.csc
  113.  
  114. $(SRC)\WPS2PC2.obj: $(SRC)\WPS2PC2.c $(SRC)\WPS2PC2.h $(SRC)\WPS2PC2.ih $(SRC)\WPS2PC2.sc $(HEADERS)
  115.     $(CCDLL) /Fo$(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.c
  116.  
  117. PC2.hlp: $(SRC)\PC2.ipp
  118.     cd $(SRC) >NUL
  119.     ipfcprep PC2.ipp PC2.ipf /D IPFC
  120.     ipfc PC2.ipf
  121.     cd .. >NUL
  122.     copy $(SRC)\PC2.hlp PC2.hlp >NUL
  123.     del $(SRC)\PC2.hlp >NUL
  124.  
  125. $(SRC)\PC2.l: Makefile
  126.     echo $(ALL_OBJ)             > $(SRC)\PC2.l
  127.     echo PC2.exe                >> $(SRC)\PC2.l
  128.     echo $(SRC)\PC2.map         >> $(SRC)\PC2.l
  129.     echo $(LIBS)                >> $(SRC)\PC2.l
  130.     echo $(SRC)\PC2.def         >> $(SRC)\PC2.l
  131.     echo $(SRC)\PC2Hook.obj     > $(SRC)\PC2Hook.l
  132.     echo PC2Hook.dll            >> $(SRC)\PC2Hook.l
  133.     echo $(SRC)\PC2Hook.map     >> $(SRC)\PC2Hook.l
  134.     echo $(LIBS)                >> $(SRC)\PC2Hook.l
  135.     echo $(SRC)\PC2Hook.def     >> $(SRC)\PC2Hook.l
  136.     echo $(SRC)\PC2Spool.obj    > $(SRC)\PC2Spool.l
  137.     echo PC2Spool.dll           >> $(SRC)\PC2Spool.l
  138.     echo $(SRC)\PC2Spool.map    >> $(SRC)\PC2Spool.l
  139.     echo $(LIBS)                >> $(SRC)\PC2Spool.l
  140.     echo $(SRC)\PC2Spool.def    >> $(SRC)\PC2Spool.l
  141.     echo $(SRC)\WPS2PC2.obj     > $(SRC)\WPS2PC2.l
  142.     echo WPS2PC2.dll            >> $(SRC)\WPS2PC2.l
  143.     echo $(SRC)\WPS2PC2.map     >> $(SRC)\WPS2PC2.l
  144.     echo $(LIBSS) + SOM         >> $(SRC)\WPS2PC2.l
  145.     echo $(SRC)\WPS2PC2.def     >> $(SRC)\WPS2PC2.l
  146.  
  147. $(SRC)\PC2.res: $(SRC)\PC2.rc $(SRC)\PC2.h $(SRC)\PC2.dlg
  148.     cd $(SRC) >NUL
  149.     rc -r PC2.rc
  150.     cd .. >NUL
  151.  
  152. $(SRC)\PC2Spool.res: $(SRC)\PC2Spool.rc $(SRC)\PC2.h
  153.     cd $(SRC) >NUL
  154.     rc -r PC2Spool.rc
  155.     cd .. >NUL
  156.  
  157. $(SRC)\WPS2PC2.res: $(SRC)\WPS2PC2.rc $(SRC)\PC2.h
  158.     cd $(SRC) >NUL
  159.     rc -r WPS2PC2.rc
  160.     cd .. >NUL
  161.  
  162. $(SRC)\PC2Hook.obj: $(SRC)\PC2Hook.c $(HEADERS)
  163.     $(CCDLL) /Fo$(SRC)\PC2Hook.obj $(SRC)\PC2Hook.c
  164.  
  165. PC2Hook.dll: $(SRC)\PC2Hook.obj $(SRC)\PC2Hook.def $(SRC)\PC2Hook.l
  166.     $(LINK) @Source\PC2Hook.l
  167.  
  168. $(SRC)\PC2Spool.obj: $(SRC)\PC2Spool.c $(HEADERS)
  169.     $(CCDLL) /Fo$(SRC)\PC2Spool.obj $(SRC)\PC2Spool.c
  170.  
  171. PC2Spool.dll: $(SRC)\PC2Spool.obj $(SRC)\PC2Spool.def $(SRC)\PC2Spool.l $(SRC)\PC2Spool.res
  172.     $(LINK) @Source\PC2Spool.l
  173.     rc $(SRC)\PC2Spool.res PC2Spool.dll
  174.  
  175. WPS2PC2.dll: $(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.def $(SRC)\WPS2PC2.l $(SRC)\WPS2PC2.res
  176.     $(LINK) @Source\WPS2PC2.l
  177.     rc $(SRC)\WPS2PC2.res WPS2PC2.dll
  178.  
  179. WPS2PC2.hlp: $(SRC)\WPS2PC2.ipp
  180.     cd $(SRC) >NUL
  181.     ipfcprep WPS2PC2.ipp WPS2PC2.ipf /D IPFC
  182.     ipfc WPS2PC2.ipf
  183.     cd .. >NUL
  184.     copy $(SRC)\WPS2PC2.hlp WPS2PC2.hlp >NUL
  185.     del $(SRC)\WPS2PC2.hlp >NUL
  186.  
  187. PC2.exe: $(ALL_OBJ) $(SRC)\PC2.def $(SRC)\PC2.l $(SRC)\PC2.res
  188.     $(LINK) @Source\PC2.l
  189.     rc $(SRC)\PC2.res PC2.exe
  190.  
  191.