home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / c / xv221src / jpeg / makefile < prev    next >
Encoding:
Makefile  |  1992-12-31  |  8.7 KB  |  216 lines

  1. # Makefile for Independent JPEG Group's software
  2.  
  3. # This makefile is suitable for Unix-like systems with non-ANSI compilers.
  4. # If you have an ANSI compiler, makefile.ansi is a better starting point.
  5.  
  6. # Read SETUP instructions before saying "make" !!
  7.  
  8. # The name of your C compiler:  (passed in from the XV makefile)
  9. CC= gcc
  10.  
  11.  
  12.  
  13. # You may need to adjust these cc options:
  14. CFLAGS= -O -fomit-frame-pointer -fstrength-reduce -finline-functions -DMSDOS
  15.  
  16. # In particular:
  17. #   Add -DBSD if on a pure BSD system (see jinclude.h).
  18. #   Add -DVMS if on a VMS system (see ansi2knr.c).
  19. #   Add -DMSDOS if on an MSDOS system (see ansi2knr.c).
  20. #   Add -DMEM_STATS to enable gathering of memory usage statistics.
  21. #   You may also want to add -DTWO_FILE_COMMANDLINE or -D switches for other
  22. #   symbols listed in jconfig.h, if you prefer not to change jconfig.h.
  23.  
  24. # Link-time cc options:
  25. LDFLAGS= 
  26.  
  27. # To link any special libraries, add the necessary -l commands here.
  28. # In particular, on some versions of HP-UX (and probably other SysV-derived
  29. # systems) there is a faster alternate malloc(3) library that you can use
  30. # by adding "-lmalloc" to this line.
  31. LDLIBS= 
  32.  
  33. # miscellaneous OS-dependent stuff
  34. # linker
  35. LN= $(CC)
  36. # file deletion command
  37. RM= rm -f
  38. # library (.a) file creation command
  39. AR= ar rc
  40. # second step in .a creation (use "touch" if not needed)
  41. AR2= ranlib
  42.  
  43.  
  44. # source files (independently compilable files)
  45. SOURCES= jbsmooth.c jcarith.c jccolor.c jcdeflts.c jcexpand.c jchuff.c \
  46.         jcmain.c jcmaster.c jcmcu.c jcpipe.c jcsample.c jdarith.c jdcolor.c \
  47.         jddeflts.c jdhuff.c jdmain.c jdmaster.c jdmcu.c jdpipe.c jdsample.c \
  48.         jerror.c jquant1.c jquant2.c jfwddct.c jrevdct.c jutils.c jmemmgr.c \
  49.         jrdjfif.c jrdgif.c jrdppm.c jrdrle.c jrdtarga.c jwrjfif.c jwrgif.c \
  50.         jwrppm.c jwrrle.c jwrtarga.c
  51.  
  52. # virtual source files (not present in distribution file)
  53. VIRTSOURCES= jmemsys.c
  54.  
  55. # system-dependent implementations of source files
  56. SYSDEPFILES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemdos.h \
  57.         jmemdosa.asm
  58.  
  59. # files included by source files
  60. INCLUDES= jinclude.h jconfig.h jpegdata.h jversion.h jmemsys.h egetopt.c
  61.  
  62. # documentation, test, and support files
  63. DOCS= README SETUP USAGE CHANGELOG cjpeg.1 djpeg.1 architecture codingrules
  64. MAKEFILES= makefile.ansi makefile.unix makefile.manx makefile.sas \
  65.         makefile.mc5 makefile.mc6 makcjpeg.lnk makdjpeg.lnk makefile.bcc \
  66.         makcjpeg.lst makdjpeg.lst makefile.pwc makcjpeg.cf makdjpeg.cf \
  67.         makljpeg.cf makefile.mms makefile.vms makvms.opt
  68. OTHERFILES= ansi2knr.c ckconfig.c example.c
  69. TESTFILES= testorig.jpg testimg.ppm testimg.gif testimg.jpg
  70. DISTFILES= $(DOCS) $(MAKEFILES) $(SOURCES) $(SYSDEPFILES) $(INCLUDES) \
  71.         $(OTHERFILES) $(TESTFILES)
  72.  
  73. # objectfiles common to cjpeg and djpeg
  74. COMOBJECTS= jutils.o jerror.o jmemmgr.o jmemsys.o
  75.  
  76. # compression objectfiles
  77. CLIBOBJECTS= jcmaster.o jcdeflts.o jcarith.o jccolor.o jcexpand.o jchuff.o \
  78.         jcmcu.o jcpipe.o jcsample.o jfwddct.o jwrjfif.o jrdgif.o jrdppm.o \
  79.         jrdrle.o jrdtarga.o
  80. COBJECTS= jcmain.o $(CLIBOBJECTS) $(COMOBJECTS)
  81.  
  82. # decompression objectfiles
  83. DLIBOBJECTS= jdmaster.o jddeflts.o jbsmooth.o jdarith.o jdcolor.o jdhuff.o \
  84.         jdmcu.o jdpipe.o jdsample.o jquant1.o jquant2.o jrevdct.o jrdjfif.o \
  85.         jwrgif.o jwrppm.o jwrrle.o jwrtarga.o
  86. DOBJECTS= jdmain.o $(DLIBOBJECTS) $(COMOBJECTS)
  87.  
  88. # These objectfiles are included in libjpeg.a
  89. LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
  90.  
  91.  
  92. all: cjpeg djpeg libjpeg.a
  93. # By default, libjpeg.a is not built unless you explicitly request it.
  94. # You can add libjpeg.a to the line above if you want it built by default.
  95.  
  96.  
  97. # This rule causes ansi2knr to be invoked.  If you use this makefile,
  98. # make sure PROTO is not defined by jconfig.h.
  99.  
  100. .c.o:
  101.         $(CC) $(CFLAGS) -c $*.c
  102.  
  103. ansi2knr: ansi2knr.c
  104.     $(CC) $(CFLAGS) -o ansi2knr ansi2knr.c
  105.  
  106.  
  107. cjpeg: $(COBJECTS) cjpeg.lnk
  108.         $(LN) @cjpeg.lnk
  109.         strip cjpeg
  110.         aout2exe cjpeg
  111.         del cjpeg
  112. #        $(LDFLAGS) -o cjpeg $(COBJECTS) $(LDLIBS)
  113.  
  114. cjpeg.lnk:
  115.         if exist cjpeg.lnk del cjpeg.lnk
  116.         echo -o cjpeg >> cjpeg.lnk
  117.         echo jcmain.o jcmaster.o jcdeflts.o jcarith.o jccolor.o >> cjpeg.lnk
  118.         echo jcexpand.o jchuff.o jcmcu.o jcpipe.o jcsample.o >> cjpeg.lnk
  119.         echo jfwddct.o jwrjfif.o jrdgif.o jrdppm.o jrdrle.o >> cjpeg.lnk
  120.         echo jrdtarga.o jutils.o jerror.o jmemmgr.o jmemsys.o >> cjpeg.lnk
  121.         echo -lm -lpc -lx -lsys -lxt >> cjpeg.lnk
  122.  
  123. djpeg: $(DOBJECTS) djpeg.lnk
  124.         $(LN) @djpeg.lnk
  125.         strip djpeg
  126.         aout2exe djpeg
  127.         del djpeg
  128. #        $(LDFLAGS) -o djpeg $(DOBJECTS) $(LDLIBS)
  129.  
  130. djpeg.lnk:
  131.         if exist djpeg.lnk del djpeg.lnk
  132.         echo -o djpeg >> djpeg.lnk
  133.         echo jdmain.o jdmaster.o jddeflts.o jbsmooth.o jdarith.o >> djpeg.lnk
  134.         echo jdcolor.o jdhuff.o jdmcu.o jdpipe.o jdsample.o >> djpeg.lnk
  135.         echo jquant1.o jquant2.o jrevdct.o jrdjfif.o jwrgif.o >> djpeg.lnk
  136.         echo jwrppm.o jwrrle.o jwrtarga.o jutils.o jerror.o >> djpeg.lnk
  137.         echo jmemmgr.o jmemsys.o >> djpeg.lnk
  138.         echo -lm -lpc -lx -lsys -lxt >> djpeg.lnk
  139.  
  140.  
  141. # libjpeg.a is useful if you are including the JPEG software in a larger
  142. # program; you'd include it in your link, rather than the individual modules.
  143. libjpeg.a: $(LIBOBJECTS) libjpeg.lnk
  144.     $(RM) libjpeg.a
  145.         $(AR) libjpeg.a @libjpeg.lnk
  146.     $(AR2) libjpeg.a
  147.  
  148. libjpeg.lnk:
  149.         if exist libjpeg.lnk del libjpeg.lnk
  150.         echo libjpeg.a >> libjpeg.lnk
  151.         echo jutils.o jerror.o jmemmgr.o jmemsys.o jcmaster.o >> libjpeg.lnk
  152.         echo jcdeflts.o jcarith.o jccolor.o jcexpand.o jchuff.o >> libjpeg.lnk
  153.         echo jcmcu.o jcpipe.o jcsample.o jfwddct.o jwrjfif.o >> libjpeg.lnk
  154.         echo jrdgif.o jrdppm.o jrdrle.o jrdtarga.o jcmain.o >> libjpeg.lnk
  155.         echo jdmaster.o jddeflts.o jbsmooth.o jdarith.o >> libjpeg.lnk
  156.         echo jdcolor.o jdhuff.o jdmcu.o jdpipe.o jdsample.o >> libjpeg.lnk
  157.         echo jquant1.o jquant2.o jrevdct.o jrdjfif.o jwrgif.o >> libjpeg.lnk
  158.         echo jwrppm.o jwrrle.o jwrtarga.o jdmain.o >> libjpeg.lnk
  159.  
  160. clean:
  161.     $(RM) *.o cjpeg djpeg libjpeg.a ansi2knr core tmpansi.* testout.*
  162.  
  163. distribute:
  164.     $(RM) jpegsrc.tar*
  165.     tar cvf jpegsrc.tar $(DISTFILES)
  166.     compress -v jpegsrc.tar
  167.  
  168. test: cjpeg djpeg
  169.     $(RM) testout.ppm testout.gif testout.jpg
  170.     ./djpeg testorig.jpg >testout.ppm
  171.     ./djpeg -G testorig.jpg >testout.gif
  172.     ./cjpeg testimg.ppm >testout.jpg
  173.     cmp testimg.ppm testout.ppm
  174.     cmp testimg.gif testout.gif
  175.     cmp testimg.jpg testout.jpg
  176.  
  177.  
  178. jbsmooth.o : jbsmooth.c jinclude.h jconfig.h jpegdata.h 
  179. jcarith.o : jcarith.c jinclude.h jconfig.h jpegdata.h 
  180. jccolor.o : jccolor.c jinclude.h jconfig.h jpegdata.h 
  181. jcdeflts.o : jcdeflts.c jinclude.h jconfig.h jpegdata.h 
  182. jcexpand.o : jcexpand.c jinclude.h jconfig.h jpegdata.h 
  183. jchuff.o : jchuff.c jinclude.h jconfig.h jpegdata.h 
  184. jcmain.o : jcmain.c jinclude.h jconfig.h jpegdata.h jversion.h egetopt.c 
  185. jcmaster.o : jcmaster.c jinclude.h jconfig.h jpegdata.h 
  186. jcmcu.o : jcmcu.c jinclude.h jconfig.h jpegdata.h 
  187. jcpipe.o : jcpipe.c jinclude.h jconfig.h jpegdata.h 
  188. jcsample.o : jcsample.c jinclude.h jconfig.h jpegdata.h 
  189. jdarith.o : jdarith.c jinclude.h jconfig.h jpegdata.h 
  190. jdcolor.o : jdcolor.c jinclude.h jconfig.h jpegdata.h 
  191. jddeflts.o : jddeflts.c jinclude.h jconfig.h jpegdata.h 
  192. jdhuff.o : jdhuff.c jinclude.h jconfig.h jpegdata.h 
  193. jdmain.o : jdmain.c jinclude.h jconfig.h jpegdata.h jversion.h egetopt.c 
  194. jdmaster.o : jdmaster.c jinclude.h jconfig.h jpegdata.h 
  195. jdmcu.o : jdmcu.c jinclude.h jconfig.h jpegdata.h 
  196. jdpipe.o : jdpipe.c jinclude.h jconfig.h jpegdata.h 
  197. jdsample.o : jdsample.c jinclude.h jconfig.h jpegdata.h 
  198. jerror.o : jerror.c jinclude.h jconfig.h jpegdata.h 
  199. jquant1.o : jquant1.c jinclude.h jconfig.h jpegdata.h 
  200. jquant2.o : jquant2.c jinclude.h jconfig.h jpegdata.h 
  201. jfwddct.o : jfwddct.c jinclude.h jconfig.h jpegdata.h 
  202. jrevdct.o : jrevdct.c jinclude.h jconfig.h jpegdata.h 
  203. jutils.o : jutils.c jinclude.h jconfig.h jpegdata.h 
  204. jmemmgr.o : jmemmgr.c jinclude.h jconfig.h jpegdata.h jmemsys.h 
  205. jrdjfif.o : jrdjfif.c jinclude.h jconfig.h jpegdata.h 
  206. jrdgif.o : jrdgif.c jinclude.h jconfig.h jpegdata.h 
  207. jrdppm.o : jrdppm.c jinclude.h jconfig.h jpegdata.h 
  208. jrdrle.o : jrdrle.c jinclude.h jconfig.h jpegdata.h 
  209. jrdtarga.o : jrdtarga.c jinclude.h jconfig.h jpegdata.h 
  210. jwrjfif.o : jwrjfif.c jinclude.h jconfig.h jpegdata.h 
  211. jwrgif.o : jwrgif.c jinclude.h jconfig.h jpegdata.h 
  212. jwrppm.o : jwrppm.c jinclude.h jconfig.h jpegdata.h 
  213. jwrrle.o : jwrrle.c jinclude.h jconfig.h jpegdata.h 
  214. jwrtarga.o : jwrtarga.c jinclude.h jconfig.h jpegdata.h 
  215. jmemsys.o : jmemsys.c jinclude.h jconfig.h jpegdata.h jmemsys.h 
  216.