home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / gbmsrc.zip / os2 / makefile.bak < prev    next >
Makefile  |  1999-03-21  |  6KB  |  283 lines

  1. #
  2. # Generalised Bitmap Module
  3. #
  4. # OS/2
  5. # IBM VisualAge C++, with CTC306, CTD302 and CTU304
  6. #
  7. # Builds GBM.DLL which is compiled multithreaded
  8. # Therefore all users should also be multithreaded
  9. #
  10. # Note problems have been observed when optimisation allows the instruction
  11. # scheduler to do its thing. Bug present beleived present in IBM C-Set++, with
  12. # CSD 12, and in particular affects inner loops in gbmht.c and gbmerr.c.
  13. # Bug suspected also present in VisualAge C++, even with CTC305.
  14. #
  15.  
  16. # Modify this line to point to the Independant JPEG groups library 6a
  17. # If you haven't got it, comment out the line instead.
  18. IJG = \build\os2\ijg6a
  19.  
  20. !ifdef IJG
  21. CJPEG =        /DIJG
  22. !else
  23. CJPEG =
  24. !endif
  25.  
  26. CWARNS =    /W3 /Wcnd+cns+dcl+ord+par+pro+rea+ret+use+
  27. CFLAGS =    /C+ $(CWARNS) /DOS2 /G4 /Gd-m+ /Q+ /O+ /Os- $(CJPEG)
  28. CFLAGS_EXE =    $(CFLAGS) /Ge+
  29. CFLAGS_DLL =    $(CFLAGS) /Ge-
  30. LFLAGS =    /NOI /ALIGN:4 /NOLOGO
  31. LFLAGS_EXE =    $(LFLAGS) /BASE:0x10000 /STACK:0x6000 /PMTYPE:VIO
  32. LFLAGS_DLL =    $(LFLAGS)
  33.  
  34. .SUFFIXES:    .c .obj
  35.  
  36. .c.obj:
  37.         icc $(CFLAGS_EXE) $*.c
  38.  
  39. #
  40.  
  41. all:        ijg gbm.dll gbm.lib gbmhdr.exe \
  42.         gbmmir.lib gbmref.exe \
  43.         gbmrect.lib gbmsub.exe \
  44.         gbmscale.lib gbmsize.exe \
  45.         gbmerr.lib gbmtrunc.lib gbmht.lib gbmhist.lib gbmmcut.lib gbmbpp.exe \
  46.         gbmcpal.exe \
  47.         gbmgamma.exe
  48.  
  49. #
  50.  
  51. ijg:
  52. !ifdef IJG
  53.         @echo JPEG support, via Independent JPEG Group
  54.         @copy $(IJG)\jconfig.doc $(IJG)\jconfig.h
  55.         @copy makeijgo $(IJG)
  56.         @copy jmorecfg.h $(IJG)
  57.         (cd $(IJG) && nmake -c -f makeijgo)
  58. !else
  59.         @echo No JPEG support
  60. !endif
  61.  
  62. #
  63.  
  64. !ifdef IJG
  65. IJGOBJ =    $(IJG)\jcapimin.obj $(IJG)\jcapistd.obj $(IJG)\jctrans.obj  \
  66.         $(IJG)\jcparam.obj  $(IJG)\jdatadst.obj $(IJG)\jcinit.obj   \
  67.         $(IJG)\jcmaster.obj $(IJG)\jcmarker.obj $(IJG)\jcmainct.obj \
  68.         $(IJG)\jcprepct.obj $(IJG)\jccoefct.obj $(IJG)\jccolor.obj  \
  69.         $(IJG)\jcsample.obj $(IJG)\jchuff.obj   $(IJG)\jcphuff.obj  \
  70.         $(IJG)\jcdctmgr.obj $(IJG)\jfdctfst.obj $(IJG)\jfdctflt.obj \
  71.         $(IJG)\jfdctint.obj $(IJG)\jdapimin.obj $(IJG)\jdapistd.obj \
  72.         $(IJG)\jdtrans.obj  $(IJG)\jdatasrc.obj $(IJG)\jdmaster.obj \
  73.         $(IJG)\jdinput.obj  $(IJG)\jdmarker.obj $(IJG)\jdhuff.obj   \
  74.         $(IJG)\jdphuff.obj  $(IJG)\jdmainct.obj $(IJG)\jdcoefct.obj \
  75.         $(IJG)\jdpostct.obj $(IJG)\jddctmgr.obj $(IJG)\jidctfst.obj \
  76.         $(IJG)\jidctflt.obj $(IJG)\jidctint.obj $(IJG)\jidctred.obj \
  77.         $(IJG)\jdsample.obj $(IJG)\jdcolor.obj  $(IJG)\jquant1.obj  \
  78.         $(IJG)\jquant2.obj  $(IJG)\jdmerge.obj  $(IJG)\jcomapi.obj  \
  79.         $(IJG)\jutils.obj   $(IJG)\jerror.obj   $(IJG)\jmemmgr.obj  \
  80.         $(IJG)\jmemnobs.obj
  81. !else
  82. IJGOBJ =
  83. !endif
  84.  
  85. gbm.dll:    gbm.obj gbmpgm.obj gbmppm.obj gbmbmp.obj gbmtga.obj \
  86.         gbmkps.obj gbmiax.obj gbmpcx.obj gbmtif.obj gbmtifh.obj \
  87.         gbmlbm.obj gbmvid.obj gbmgif.obj gbmxbm.obj gbmspr.obj \
  88.         gbmpsg.obj gbmgem.obj gbmcvp.obj gbmjpg.obj gbmhelp.obj \
  89.         gbm.def
  90.         ilink $(LFLAGS_DLL) /OUT:$@ @<<
  91.             $** $(IJGOBJ)
  92. <<
  93.  
  94. gbm.lib:    gbm.def
  95.         implib /NOLOGO /NOI $@ $**
  96.  
  97. gbm.obj:    gbm.c gbm.h gbmhelp.h gbmpgm.h gbmppm.h gbmbmp.h gbmtga.h gbmkps.h gbmiax.h gbmpcx.h gbmtif.h gbmlbm.h gbmvid.h gbmgif.h gbmxbm.h gbmspr.h gbmpsg.h gbmgem.h gbmcvp.h gbmjpg.h
  98.         icc $(CFLAGS_DLL) $*.c
  99.  
  100. gbmpgm.obj:    gbmpgm.c gbm.h gbmhelp.h
  101.         icc $(CFLAGS_DLL) $*.c
  102.  
  103. gbmppm.obj:    gbmppm.c gbm.h gbmhelp.h
  104.         icc $(CFLAGS_DLL) $*.c
  105.  
  106. gbmbmp.obj:    gbmbmp.c gbm.h gbmhelp.h
  107.         icc $(CFLAGS_DLL) $*.c
  108.  
  109. gbmtga.obj:    gbmtga.c gbm.h gbmhelp.h
  110.         icc $(CFLAGS_DLL) $*.c
  111.  
  112. gbmkps.obj:    gbmkps.c gbm.h gbmhelp.h
  113.         icc $(CFLAGS_DLL) $*.c
  114.  
  115. gbmiax.obj:    gbmiax.c gbm.h gbmhelp.h
  116.         icc $(CFLAGS_DLL) $*.c
  117.  
  118. gbmpcx.obj:    gbmpcx.c gbm.h gbmhelp.h
  119.         icc $(CFLAGS_DLL) $*.c
  120.  
  121. gbmtif.obj:    gbmtif.c gbm.h gbmhelp.h gbmtifh.h
  122.         icc $(CFLAGS_DLL) $*.c
  123.  
  124. gbmtifh.obj:    gbmtifh.c gbmtifh.h
  125.         icc $(CFLAGS_DLL) $*.c
  126.  
  127. gbmlbm.obj:    gbmlbm.c gbm.h gbmhelp.h
  128.         icc $(CFLAGS_DLL) $*.c
  129.  
  130. gbmvid.obj:    gbmvid.c gbm.h gbmhelp.h
  131.         icc $(CFLAGS_DLL) $*.c
  132.  
  133. gbmgif.obj:    gbmgif.c gbm.h gbmhelp.h
  134.         icc $(CFLAGS_DLL) $*.c
  135.  
  136. gbmxbm.obj:    gbmxbm.c gbm.h gbmhelp.h
  137.         icc $(CFLAGS_DLL) $*.c
  138.  
  139. gbmspr.obj:    gbmspr.c gbm.h gbmhelp.h
  140.         icc $(CFLAGS_DLL) $*.c
  141.  
  142. gbmpsg.obj:    gbmpsg.c gbm.h gbmhelp.h
  143.         icc $(CFLAGS_DLL) $*.c
  144.  
  145. gbmgem.obj:    gbmgem.c gbm.h gbmhelp.h
  146.         icc $(CFLAGS_DLL) $*.c
  147.  
  148. gbmcvp.obj:    gbmcvp.c gbm.h gbmhelp.h
  149.         icc $(CFLAGS_DLL) $*.c
  150.  
  151. !ifdef IJG
  152. gbmjpg.obj:    gbmjpg.c gbm.h gbmhelp.h
  153.         icc $(CFLAGS_DLL) /I$(IJG) $*.c
  154. !endif
  155.  
  156. gbmhelp.obj:    gbmhelp.c gbm.h
  157.         icc $(CFLAGS_DLL) $*.c
  158.  
  159. #
  160.  
  161. gbmhdr.exe:    gbmhdr.obj gbm.lib
  162.         ilink $(LFLAGS_EXE) /OUT:$@ /NOE setargv.obj $**
  163.  
  164. gbmhdr.obj:    gbmhdr.c gbm.h
  165.  
  166. #
  167.  
  168. gbmmir.lib:    gbmmir.obj
  169.         -del $@ 2> nul
  170.         ilib /NOLOGO $@ $**;
  171.  
  172. gbmmir.obj:    gbmmir.c
  173.  
  174. gbmref.exe:    gbmref.obj gbm.lib gbmmir.lib
  175.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  176.  
  177. gbmref.obj:    gbmref.c gbm.h gbmmir.h
  178.  
  179. #
  180.  
  181. gbmrect.lib:    gbmrect.obj
  182.         -del $@ 2> nul
  183.         ilib /NOLOGO $@ $**;
  184.  
  185. gbmrect.obj:    gbmrect.c
  186.  
  187. gbmsub.exe:    gbmsub.obj gbm.lib gbmrect.lib
  188.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  189.  
  190. gbmsub.obj:    gbmsub.c gbm.h gbmrect.h
  191.  
  192. #
  193.  
  194. gbmerr.lib:    gbmerr.obj
  195.         -del $@ 2> nul
  196.         ilib /NOLOGO $@ $**;
  197.  
  198. gbmerr.obj:    gbmerr.c
  199.  
  200. #
  201.  
  202. gbmscale.lib:    gbmscale.obj
  203.         -del $@ 2> nul
  204.         ilib /NOLOGO $@ $**;
  205.  
  206. gbmscale.obj:    gbmscale.c
  207.  
  208. gbmsize.exe:    gbmsize.obj gbm.lib gbmscale.lib
  209.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  210.  
  211. gbmsize.obj:    gbmsize.c gbm.h gbmscale.h
  212.  
  213. #
  214.  
  215. gbmtrunc.lib:    gbmtrunc.obj
  216.         -del $@ 2> nul
  217.         ilib /NOLOGO $@ $**;
  218.  
  219. gbmtrunc.obj:    gbmtrunc.c
  220.  
  221. #
  222.  
  223. gbmht.lib:    gbmht.obj
  224.         -del $@ 2> nul
  225.         ilib /NOLOGO $@ $**;
  226.  
  227. gbmht.obj:    gbmht.c
  228.  
  229. #
  230.  
  231. gbmhist.lib:    gbmhist.obj
  232.         -del $@ 2> nul
  233.         ilib /NOLOGO $@ $**;
  234.  
  235. gbmhist.obj:    gbmhist.c
  236.  
  237. #
  238.  
  239. gbmmcut.lib:    gbmmcut.obj
  240.         -del $@ 2> nul
  241.         ilib /NOLOGO $@ $**;
  242.  
  243. gbmmcut.obj:    gbmmcut.c
  244.  
  245. #
  246.  
  247. gbmbpp.exe:    gbmbpp.obj gbm.lib gbmerr.lib gbmtrunc.lib gbmht.lib gbmhist.lib gbmmcut.lib
  248.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  249.  
  250. gbmbpp.obj:    gbmbpp.c gbm.h gbmerr.h gbmtrunc.h gbmht.h gbmhist.h gbmmcut.h
  251.  
  252. #
  253.  
  254. gbmcpal.exe:    gbmcpal.obj gbm.lib gbmhist.lib gbmmcut.lib
  255.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  256.  
  257. gbmcpal.obj:    gbmcpal.c gbm.h gbmhist.h gbmmcut.h
  258.  
  259. #
  260.  
  261. gbmgamma.exe:    gbmgamma.obj gbm.lib
  262.         ilink $(LFLAGS_EXE) /OUT:$@ $**
  263.  
  264. gbmgamma.obj:    gbmgamma.c gbm.h
  265.  
  266. #
  267.  
  268. clean:
  269.         -del *.obj 2> nul
  270.  
  271. #
  272.  
  273. IDIR =        d:\gbm
  274.  
  275. install:
  276.         copy *.exe $(IDIR)
  277.         copy *.dll $(IDIR)
  278.  
  279. #
  280.  
  281. package:
  282.         zip -q gbmos2 gbm.htm gbm.h gbm.lib *.exe
  283.