home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / os2 / nakladki / pc2v190.exe / SOURCE.ZIP / Makefile
Makefile  |  1995-05-01  |  7KB  |  197 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 SLOWVIDEO
  23. VIDEO =
  24. !else
  25. VIDEO = /DSLOWVIDEO
  26. !endif
  27.  
  28. !ifndef NODEBUG
  29. CFLAGS =    /Ti      /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+      $(VIDEO)
  30. CFLAGSDLL = /Ti      /Kb+ /c /Se /Ms /Re /ss /W3      /Ge- $(VIDEO)
  31. !else
  32. CFLAGS =    /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3 /Gm+      $(VIDEO)
  33. CFLAGSDLL = /Gs- /O+ /Kb+ /c /Se /Ms /Re /ss /W3      /Ge- $(VIDEO)
  34. !endif
  35.  
  36. # LINK386 Flags
  37. #   /DEBUG  Include debug information for IPMD
  38. #   /NOE    NO Extented dictionary, don't assume any library dependencies
  39. #   /NOD    NO Default library, ignore the library names in object files
  40. #   /NOI    NO Ignore case
  41. #   /A:16   Align on paragraph for PM programs
  42. #   /M      Produce map
  43. #   /E      Exepack to compress pages within the executable
  44. #   /F      Farcalltranslation to optimize far calls by avoiding selector reloads
  45. #   /PACKC  Overwrite Packcode default of 65530 to 0x40000
  46.  
  47. !ifndef NODEBUG
  48. LFLAGS = /DEBUG /NOE /NOD /ALIGN:16 /MAP /NOI /E /F /PACKC:0x40000
  49. !else
  50. LFLAGS =        /NOE /NOD /ALIGN:16      /NOI /E /F /PACKC:0x40000
  51. !endif
  52.  
  53. # Libraries
  54. #   DD4MBS  Multitasking standard library
  55. #   DD4NBS  Singletasking standard library
  56. #   OS2386  OS/2 2.0 Link library
  57. LIBS = DDE4MBS + OS2386
  58. LIBSS = DDE4NBS + OS2386
  59.  
  60. # Directories
  61. # \.        Executables, help panels, DLLs, documentation, profiles
  62. # \Source   Source, object modules, headers
  63. SRC=Source
  64.  
  65. # SC Flags
  66. #   -v      Verbose mode
  67. #   -r      Check that release order entries exist
  68. #   -d      Output directory of emitted file
  69. #
  70. # For the SOM compiler, the following environment variables are assumed
  71. # to be set for the IBM OS/2 Developer's Toolkit 2.1:
  72. #
  73. # SET SMINCLUDE=.;C:\TOOLKT21\SC;
  74. # SET SMTMP=G:\
  75. # SET SMEMIT=ih;h;ph;psc;sc;c;def
  76.  
  77. SCFLAGS = -v -r -d $(SRC)
  78.  
  79. CC = icc $(CFLAGS)
  80. SC = sc $(SCFLAGS)
  81. CCDLL = icc $(CFLAGSDLL)
  82. LINK = LINK386 $(LFLAGS)
  83.  
  84. HEADERS = $(SRC)\PC2.h $(SRC)\Error.h
  85.  
  86. ALL_OBJ = $(SRC)\PC2.obj $(SRC)\Dialog.obj $(SRC)\Utility.obj $(SRC)\Error.obj $(SRC)\Thread.obj
  87.  
  88. all: PC2.exe PC2.hlp PC2Hook.dll PC2Spool.dll WPS2PC2.dll WPS2PC2.hlp
  89.  
  90. clean:
  91.     -!del *.exe
  92.     -!del $(SRC)\*.obj
  93.     -!del $(SRC)\*.res
  94.     -!del $(SRC)\*.l
  95.  
  96. save:
  97.     -!del PC2-Save.zip
  98.     zip -9 -r PC2 *
  99.     unzip -t PC2
  100.     copy PC2.zip PC2-Save.zip /v
  101.  
  102. $(SRC)\Dialog.obj: $(SRC)\Dialog.c $(HEADERS)
  103.     $(CC) /Fo$(SRC)\Dialog.obj $(SRC)\Dialog.c
  104.  
  105. $(SRC)\Utility.obj: $(SRC)\Utility.c $(HEADERS)
  106.     $(CC) /Fo$(SRC)\Utility.obj $(SRC)\Utility.c
  107.  
  108. $(SRC)\Thread.obj: $(SRC)\Thread.c $(HEADERS)
  109.     $(CC) /Fo$(SRC)\Thread.obj $(SRC)\Thread.c
  110.  
  111. $(SRC)\Error.obj: $(SRC)\Error.c $(SRC)\Error.h
  112.     $(CC) /Fo$(SRC)\Error.obj $(SRC)\Error.c
  113.  
  114. $(SRC)\PC2.obj: $(SRC)\PC2.c $(HEADERS)
  115.     $(CC) /Fo$(SRC)\PC2.obj $(SRC)\PC2.c
  116.  
  117. $(SRC)\WPS2PC2.c: $(SRC)\WPS2PC2.csc $(HEADERS)
  118.     $(SC) $(SRC)\WPS2PC2.csc
  119.  
  120. $(SRC)\WPS2PC2.obj: $(SRC)\WPS2PC2.c $(SRC)\WPS2PC2.h $(SRC)\WPS2PC2.ih $(SRC)\WPS2PC2.sc $(HEADERS)
  121.     $(CCDLL) /Fo$(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.c
  122.  
  123. PC2.hlp: $(SRC)\PC2.ipp
  124.     cd $(SRC) >NUL
  125.     ipfcprep PC2.ipp PC2.ipf /D IPFC
  126.     ipfc PC2.ipf
  127.     cd .. >NUL
  128.     copy $(SRC)\PC2.hlp PC2.hlp >NUL
  129.     del $(SRC)\PC2.hlp >NUL
  130.  
  131. $(SRC)\PC2.l: Makefile
  132.     echo $(ALL_OBJ)+$(SRC)\Printf.obj           > $(SRC)\PC2.l
  133.     echo PC2.exe                                >> $(SRC)\PC2.l
  134.     echo $(SRC)\PC2.map                         >> $(SRC)\PC2.l
  135.     echo $(LIBS)                                >> $(SRC)\PC2.l
  136.     echo $(SRC)\PC2.def                         >> $(SRC)\PC2.l
  137.     echo $(SRC)\PC2Hook.obj                     > $(SRC)\PC2Hook.l
  138.     echo PC2Hook.dll                            >> $(SRC)\PC2Hook.l
  139.     echo $(SRC)\PC2Hook.map                     >> $(SRC)\PC2Hook.l
  140.     echo $(LIBS)                                >> $(SRC)\PC2Hook.l
  141.     echo $(SRC)\PC2Hook.def                     >> $(SRC)\PC2Hook.l
  142.     echo $(SRC)\PC2Spool.obj                    > $(SRC)\PC2Spool.l
  143.     echo PC2Spool.dll                           >> $(SRC)\PC2Spool.l
  144.     echo $(SRC)\PC2Spool.map                    >> $(SRC)\PC2Spool.l
  145.     echo $(LIBS)                                >> $(SRC)\PC2Spool.l
  146.     echo $(SRC)\PC2Spool.def                    >> $(SRC)\PC2Spool.l
  147.     echo $(SRC)\WPS2PC2.obj+$(SRC)\Printf.obj   > $(SRC)\WPS2PC2.l
  148.     echo WPS2PC2.dll                            >> $(SRC)\WPS2PC2.l
  149.     echo $(SRC)\WPS2PC2.map                     >> $(SRC)\WPS2PC2.l
  150.     echo $(LIBSS) + SOM                         >> $(SRC)\WPS2PC2.l
  151.     echo $(SRC)\WPS2PC2.def                     >> $(SRC)\WPS2PC2.l
  152.  
  153. $(SRC)\PC2.res: $(SRC)\PC2.rc $(SRC)\PC2.h $(SRC)\PC2.dlg
  154.     cd $(SRC) >NUL
  155.     rc -r PC2.rc
  156.     cd .. >NUL
  157.  
  158. $(SRC)\PC2Spool.res: $(SRC)\PC2Spool.rc $(SRC)\PC2.h
  159.     cd $(SRC) >NUL
  160.     rc -r PC2Spool.rc
  161.     cd .. >NUL
  162.  
  163. $(SRC)\WPS2PC2.res: $(SRC)\WPS2PC2.rc $(SRC)\PC2.h
  164.     cd $(SRC) >NUL
  165.     rc -r WPS2PC2.rc
  166.     cd .. >NUL
  167.  
  168. $(SRC)\PC2Hook.obj: $(SRC)\PC2Hook.c $(HEADERS)
  169.     $(CCDLL) /Fo$(SRC)\PC2Hook.obj $(SRC)\PC2Hook.c
  170.  
  171. PC2Hook.dll: $(SRC)\PC2Hook.obj $(SRC)\PC2Hook.def $(SRC)\PC2Hook.l
  172.     $(LINK) @Source\PC2Hook.l
  173.  
  174. $(SRC)\PC2Spool.obj: $(SRC)\PC2Spool.c $(HEADERS)
  175.     $(CCDLL) /Fo$(SRC)\PC2Spool.obj $(SRC)\PC2Spool.c
  176.  
  177. PC2Spool.dll: $(SRC)\PC2Spool.obj $(SRC)\PC2Spool.def $(SRC)\PC2Spool.l $(SRC)\PC2Spool.res
  178.     $(LINK) @Source\PC2Spool.l
  179.     rc $(SRC)\PC2Spool.res PC2Spool.dll
  180.  
  181. WPS2PC2.dll: $(SRC)\WPS2PC2.obj $(SRC)\WPS2PC2.def $(SRC)\WPS2PC2.l $(SRC)\WPS2PC2.res
  182.     $(LINK) @Source\WPS2PC2.l
  183.     rc $(SRC)\WPS2PC2.res WPS2PC2.dll
  184.  
  185. WPS2PC2.hlp: $(SRC)\WPS2PC2.ipp
  186.     cd $(SRC) >NUL
  187.     ipfcprep WPS2PC2.ipp WPS2PC2.ipf /D IPFC
  188.     ipfc WPS2PC2.ipf
  189.     cd .. >NUL
  190.     copy $(SRC)\WPS2PC2.hlp WPS2PC2.hlp >NUL
  191.     del $(SRC)\WPS2PC2.hlp >NUL
  192.  
  193. PC2.exe: $(ALL_OBJ) $(SRC)\PC2.def $(SRC)\PC2.l $(SRC)\PC2.res
  194.     $(LINK) @Source\PC2.l
  195.     rc $(SRC)\PC2.res PC2.exe
  196.  
  197.