home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / packer / jpeg / makefile < prev    next >
Encoding:
Makefile  |  1992-12-17  |  7.9 KB  |  184 lines

  1. # Makefile for Independent JPEG Group's software
  2.  
  3. # This file was adapted from makefile.mc6. Changes:
  4. #  1. Add -DSETMODE to get unix-style command line.
  5. #  2. Minor changes to get clean make under OS/2 and dmake 3.8
  6. #  3. Add jpeg.def linker definition file.
  7. #
  8. # Darrel Hankerson hank@ducvax.auburn.edu
  9. # 16 December 1992
  10.  
  11. # This makefile is for Microsoft C for MS-DOS, version 6.00A and up.
  12. # Use NMAKE, not Microsoft's brain-damaged MAKE.
  13. # Thanks to Alan Wright and Chris Turner of Olivetti Research Ltd.
  14.  
  15. # Read SETUP instructions before saying "nmake" !!
  16.  
  17. # compiler flags. -D gives a #define to the sources:
  18. #       -AS             small memory model (or use -AM for medium model)
  19. #       -Ox             maximum safe optimisation
  20. #       -W3             warning level 3
  21. #       -Za             ANSI conformance, defines __STDC__ but undefines far
  22. #                       and near, so we DON'T use it.
  23. #       -DHAVE_STDC     indicate we do have all the ANSI language features
  24. #       -DINCLUDES_ARE_ANSI    and all the ANSI include files.
  25. #       -DMSDOS         we are on an MSDOS machine
  26. #       -DUSE_FMEM      we have _fmemcpy() and _fmemset()
  27. #       -DSHORTxLCONST_32      enables compiler-specific multiply optimization
  28. #       -DMEM_STATS     enable memory usage statistics (optional)
  29. # You might also want to add -G2 if you have an 80286, etc.
  30.  
  31. .NOTABS = 1
  32.  
  33. DEFS = -DHAVE_STDC -DINCLUDES_ARE_ANSI -DMSDOS -DUSE_FMEM -DSHORTxLCONST_32 \
  34. -DUSE_SETMODE -DDEFAULT_MAX_MEM=2000000L 
  35.  
  36. MODEL = C
  37. CFLAGS = -A$(MODEL) -Ox -W3 -G2 $(DEFS)
  38. LFLAGS = -Lp -A$(MODEL)
  39.  
  40. # need linker response file because file list > 128 chars
  41. RFILE = libjpeg.ans
  42.  
  43. CC = cl
  44. RM = rm -f
  45. DIFF = diff
  46.  
  47. # source files (independently compilable files)
  48. SOURCES= jbsmooth.c jcarith.c jccolor.c jcdeflts.c jcexpand.c jchuff.c \
  49.         jcmain.c jcmaster.c jcmcu.c jcpipe.c jcsample.c jdarith.c jdcolor.c \
  50.         jddeflts.c jdhuff.c jdmain.c jdmaster.c jdmcu.c jdpipe.c jdsample.c \
  51.         jerror.c jquant1.c jquant2.c jfwddct.c jrevdct.c jutils.c jmemmgr.c \
  52.         jrdjfif.c jrdgif.c jrdppm.c jrdrle.c jrdtarga.c jwrjfif.c jwrgif.c \
  53.         jwrppm.c jwrrle.c jwrtarga.c
  54. # virtual source files (not present in distribution file, see SETUP)
  55. VIRTSOURCES= jmemsys.c
  56. # system-dependent implementations of virtual source files
  57. SYSDEPFILES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemdos.h \
  58.         jmemdosa.asm
  59. # files included by source files
  60. INCLUDES= jinclude.h jconfig.h jpegdata.h jversion.h jmemsys.h
  61. # documentation, test, and support files
  62. DOCS= README SETUP USAGE CHANGELOG cjpeg.1 djpeg.1 architecture codingrules
  63. MAKEFILES= makefile.ansi makefile.unix makefile.manx makefile.sas \
  64.         makcjpeg.st makdjpeg.st makljpeg.st makefile.mc5 makefile.mc6 \
  65.         makefile.bcc makefile.mms makefile.vms makvms.opt
  66. OTHERFILES= ansi2knr.c ckconfig.c example.c
  67. TESTFILES= testorig.jpg testimg.ppm testimg.gif testimg.jpg
  68. DISTFILES= $(DOCS) $(MAKEFILES) $(SOURCES) $(SYSDEPFILES) $(INCLUDES) \
  69.         $(OTHERFILES) $(TESTFILES)
  70. # objectfiles common to cjpeg and djpeg
  71. # COMOBJECTS= jutils.obj jerror.obj jmemmgr.obj jmemsys.obj jmemdosa.obj
  72. COMOBJECTS= jutils.obj jerror.obj jmemmgr.obj jmemsys.obj
  73. # compression objectfiles
  74. CLIBOBJECTS= jcmaster.obj jcdeflts.obj jcarith.obj jccolor.obj jcexpand.obj \
  75.         jchuff.obj jcmcu.obj jcpipe.obj jcsample.obj jfwddct.obj \
  76.         jwrjfif.obj jrdgif.obj jrdppm.obj jrdrle.obj jrdtarga.obj
  77. COBJECTS= jcmain.obj $(CLIBOBJECTS) $(COMOBJECTS)
  78. # decompression objectfiles
  79. DLIBOBJECTS= jdmaster.obj jddeflts.obj jbsmooth.obj jdarith.obj jdcolor.obj \
  80.         jdhuff.obj jdmcu.obj jdpipe.obj jdsample.obj jquant1.obj \
  81.         jquant2.obj jrevdct.obj jrdjfif.obj jwrgif.obj jwrppm.obj \
  82.         jwrrle.obj jwrtarga.obj
  83. DOBJECTS= jdmain.obj $(DLIBOBJECTS) $(COMOBJECTS)
  84. # These objectfiles are included in libjpeg.lib
  85. LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
  86.  
  87.  
  88. all: cjpeg.exe djpeg.exe
  89.  
  90.  
  91. # libjpeg.lib is useful if you are including the JPEG software in a larger
  92. # program; you'd include it in your link, rather than the individual modules.
  93. libjpeg.lib: $(LIBOBJECTS) $(RFILE)
  94.     $(RM) libjpeg.lib
  95.     lib @$(RFILE) ;
  96.  
  97. # linker response file for same
  98. $(RFILE) : Makefile
  99. [
  100.     rem del $(RFILE)
  101.     echo libjpeg.lib >$(RFILE)
  102.     rem # silly want-to-create-it prompt:
  103.     echo y >>$(RFILE)
  104.     echo +jcmaster.obj +jcdeflts.obj +jcarith.obj +jccolor.obj ^& >>$(RFILE)
  105.     echo +jcexpand.obj +jchuff.obj +jcmcu.obj +jcpipe.obj ^& >>$(RFILE)
  106.     echo +jcsample.obj +jfwddct.obj +jwrjfif.obj +jrdgif.obj ^& >>$(RFILE)
  107.     echo +jrdppm.obj +jrdrle.obj +jrdtarga.obj +jdmaster.obj ^& >>$(RFILE)
  108.     echo +jddeflts.obj +jbsmooth.obj +jdarith.obj +jdcolor.obj ^& >>$(RFILE)
  109.     echo +jdhuff.obj +jdmcu.obj +jdpipe.obj +jdsample.obj ^& >>$(RFILE)
  110.     echo +jquant1.obj +jquant2.obj +jrevdct.obj +jrdjfif.obj ^& >>$(RFILE)
  111.     echo +jwrgif.obj +jwrppm.obj +jwrrle.obj +jwrtarga.obj ^& >>$(RFILE)
  112.     echo +jutils.obj +jerror.obj +jmemmgr.obj +jmemsys.obj >>$(RFILE)
  113.     rem echo +jmemdosa.obj >>$(RFILE)
  114. ]
  115.  
  116. cjpeg.exe: jcmain.obj libjpeg.lib jpeg.def
  117.     $(CC) $(LFLAGS) -o $@ $< /link /STACK:4096 /EXEPACK 
  118.  
  119. djpeg.exe: jdmain.obj libjpeg.lib jpeg.def
  120.     $(CC) $(LFLAGS) -o $@ $< /link /STACK:4096 /EXEPACK 
  121.  
  122. jmemsys.c:
  123.     +echo You must select a system-dependent jmemsys.c file.
  124.     +echo Please read the SETUP directions.
  125.     exit 1
  126.  
  127. clean:
  128.     $(RM) *.obj
  129.     $(RM) libjpeg.lib
  130.     $(RM) cjpeg.exe
  131.     $(RM) djpeg.exe
  132.     $(RM) testout.*
  133.  
  134. test:
  135.         $(RM) testout.*
  136.         djpeg testorig.jpg > testout.ppm
  137.         djpeg -gif testorig.jpg > testout.gif
  138.         cjpeg testimg.ppm > testout.jpg
  139.         $(DIFF) testimg.ppm testout.ppm
  140.         $(DIFF) testimg.gif testout.gif
  141.         $(DIFF) testimg.jpg testout.jpg
  142.  
  143.  
  144. jbsmooth.obj : jbsmooth.c jinclude.h jconfig.h jpegdata.h
  145. jcarith.obj : jcarith.c jinclude.h jconfig.h jpegdata.h
  146. jccolor.obj : jccolor.c jinclude.h jconfig.h jpegdata.h
  147. jcdeflts.obj : jcdeflts.c jinclude.h jconfig.h jpegdata.h
  148. jcexpand.obj : jcexpand.c jinclude.h jconfig.h jpegdata.h
  149. jchuff.obj : jchuff.c jinclude.h jconfig.h jpegdata.h
  150. jcmain.obj : jcmain.c jinclude.h jconfig.h jpegdata.h jversion.h
  151. jcmaster.obj : jcmaster.c jinclude.h jconfig.h jpegdata.h
  152. jcmcu.obj : jcmcu.c jinclude.h jconfig.h jpegdata.h
  153. jcpipe.obj : jcpipe.c jinclude.h jconfig.h jpegdata.h
  154. jcsample.obj : jcsample.c jinclude.h jconfig.h jpegdata.h
  155. jdarith.obj : jdarith.c jinclude.h jconfig.h jpegdata.h
  156. jdcolor.obj : jdcolor.c jinclude.h jconfig.h jpegdata.h
  157. jddeflts.obj : jddeflts.c jinclude.h jconfig.h jpegdata.h
  158. jdhuff.obj : jdhuff.c jinclude.h jconfig.h jpegdata.h
  159. jdmain.obj : jdmain.c jinclude.h jconfig.h jpegdata.h jversion.h
  160. jdmaster.obj : jdmaster.c jinclude.h jconfig.h jpegdata.h
  161. jdmcu.obj : jdmcu.c jinclude.h jconfig.h jpegdata.h
  162. jdpipe.obj : jdpipe.c jinclude.h jconfig.h jpegdata.h
  163. jdsample.obj : jdsample.c jinclude.h jconfig.h jpegdata.h
  164. jerror.obj : jerror.c jinclude.h jconfig.h jpegdata.h
  165. jquant1.obj : jquant1.c jinclude.h jconfig.h jpegdata.h
  166. jquant2.obj : jquant2.c jinclude.h jconfig.h jpegdata.h
  167. jfwddct.obj : jfwddct.c jinclude.h jconfig.h jpegdata.h
  168. jrevdct.obj : jrevdct.c jinclude.h jconfig.h jpegdata.h
  169. jutils.obj : jutils.c jinclude.h jconfig.h jpegdata.h
  170. jmemmgr.obj : jmemmgr.c jinclude.h jconfig.h jpegdata.h jmemsys.h
  171. jrdjfif.obj : jrdjfif.c jinclude.h jconfig.h jpegdata.h
  172. jrdgif.obj : jrdgif.c jinclude.h jconfig.h jpegdata.h
  173. jrdppm.obj : jrdppm.c jinclude.h jconfig.h jpegdata.h
  174. jrdrle.obj : jrdrle.c jinclude.h jconfig.h jpegdata.h
  175. jrdtarga.obj : jrdtarga.c jinclude.h jconfig.h jpegdata.h
  176. jwrjfif.obj : jwrjfif.c jinclude.h jconfig.h jpegdata.h
  177. jwrgif.obj : jwrgif.c jinclude.h jconfig.h jpegdata.h
  178. jwrppm.obj : jwrppm.c jinclude.h jconfig.h jpegdata.h
  179. jwrrle.obj : jwrrle.c jinclude.h jconfig.h jpegdata.h
  180. jwrtarga.obj : jwrtarga.c jinclude.h jconfig.h jpegdata.h
  181. jmemsys.obj : jmemsys.c jinclude.h jconfig.h jpegdata.h jmemsys.h
  182. # jmemdosa.obj : jmemdosa.asm
  183. #     masm /mx $*;
  184.