Home | History | Annotate | Download | only in jpeg
      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 installation instructions before saying "make" !!
      7 
      8 # The name of your C compiler:
      9 CC= cc
     10 
     11 # You may need to adjust these cc options:
     12 CFLAGS= -O
     13 # Generally, we recommend defining any configuration symbols in jconfig.h,
     14 # NOT via -D switches here.
     15 # However, any special defines for ansi2knr.c may be included here:
     16 ANSI2KNRFLAGS= 
     17 
     18 # Link-time cc options:
     19 LDFLAGS= 
     20 
     21 # To link any special libraries, add the necessary -l commands here.
     22 LDLIBS= 
     23 
     24 # Put here the object file name for the correct system-dependent memory
     25 # manager file.  For Unix this is usually jmemnobs.o, but you may want
     26 # to use jmemansi.o or jmemname.o if you have limited swap space.
     27 SYSDEPMEM= jmemnobs.o
     28 
     29 # miscellaneous OS-dependent stuff
     30 # linker
     31 LN= $(CC)
     32 # file deletion command
     33 RM= rm -f
     34 # file rename command
     35 MV= mv
     36 # library (.a) file creation command
     37 AR= ar rc
     38 # second step in .a creation (use "touch" if not needed)
     39 AR2= ranlib
     40 
     41 # End of configurable options.
     42 
     43 
     44 # source files: JPEG library proper
     45 LIBSOURCES= jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \
     46         jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \
     47         jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \
     48         jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \
     49         jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \
     50         jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \
     51         jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c \
     52         jquant2.c jutils.c jmemmgr.c
     53 # memmgr back ends: compile only one of these into a working library
     54 SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c
     55 # source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom
     56 APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \
     57         rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \
     58         rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c
     59 SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES)
     60 # files included by source files
     61 INCLUDES= jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h \
     62         jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h
     63 # documentation, test, and support files
     64 DOCS= README install.doc usage.doc cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
     65         wrjpgcom.1 wizard.doc example.c libjpeg.doc structure.doc \
     66         coderules.doc filelist.doc change.log
     67 MKFILES= configure makefile.cfg makefile.ansi makefile.unix makefile.bcc \
     68         makefile.mc6 makefile.dj makefile.wat makefile.vc makelib.ds \
     69         makeapps.ds makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st \
     70         maktjpeg.st makefile.manx makefile.sas makefile.mms makefile.vms \
     71         makvms.opt
     72 CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
     73         jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
     74         jconfig.vms
     75 CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh
     76 OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm
     77 TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
     78         testimgp.jpg
     79 DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
     80         $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
     81 # library object files common to compression and decompression
     82 COMOBJECTS= jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM)
     83 # compression library object files
     84 CLIBOBJECTS= jcapimin.o jcapistd.o jctrans.o jcparam.o jdatadst.o jcinit.o \
     85         jcmaster.o jcmarker.o jcmainct.o jcprepct.o jccoefct.o jccolor.o \
     86         jcsample.o jchuff.o jcphuff.o jcdctmgr.o jfdctfst.o jfdctflt.o \
     87         jfdctint.o
     88 # decompression library object files
     89 DLIBOBJECTS= jdapimin.o jdapistd.o jdtrans.o jdatasrc.o jdmaster.o \
     90         jdinput.o jdmarker.o jdhuff.o jdphuff.o jdmainct.o jdcoefct.o \
     91         jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o jidctred.o \
     92         jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o
     93 # These objectfiles are included in libjpeg.a
     94 LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
     95 # object files for sample applications (excluding library files)
     96 COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \
     97         cdjpeg.o
     98 DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \
     99         cdjpeg.o
    100 TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o
    101 
    102 
    103 all: ansi2knr libjpeg.a cjpeg djpeg jpegtran rdjpgcom wrjpgcom
    104 
    105 # This rule causes ansi2knr to be invoked.
    106 .c.o:
    107 	./ansi2knr $*.c T$*.c
    108 	$(CC) $(CFLAGS) -c T$*.c
    109 	$(RM) T$*.c $*.o
    110 	$(MV) T$*.o $*.o
    111 
    112 ansi2knr: ansi2knr.c
    113 	$(CC) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
    114 
    115 libjpeg.a: ansi2knr $(LIBOBJECTS)
    116 	$(RM) libjpeg.a
    117 	$(AR) libjpeg.a  $(LIBOBJECTS)
    118 	$(AR2) libjpeg.a
    119 
    120 cjpeg: ansi2knr $(COBJECTS) libjpeg.a
    121 	$(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.a $(LDLIBS)
    122 
    123 djpeg: ansi2knr $(DOBJECTS) libjpeg.a
    124 	$(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.a $(LDLIBS)
    125 
    126 jpegtran: ansi2knr $(TROBJECTS) libjpeg.a
    127 	$(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.a $(LDLIBS)
    128 
    129 rdjpgcom: rdjpgcom.o
    130 	$(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS)
    131 
    132 wrjpgcom: wrjpgcom.o
    133 	$(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS)
    134 
    135 jconfig.h: jconfig.doc
    136 	echo You must prepare a system-dependent jconfig.h file.
    137 	echo Please read the installation directions in install.doc.
    138 	exit 1
    139 
    140 clean:
    141 	$(RM) *.o cjpeg djpeg jpegtran libjpeg.a rdjpgcom wrjpgcom
    142 	$(RM) ansi2knr core testout*
    143 
    144 test: cjpeg djpeg jpegtran
    145 	$(RM) testout*
    146 	./djpeg -dct int -ppm -outfile testout.ppm  testorig.jpg
    147 	./djpeg -dct int -bmp -colors 256 -outfile testout.bmp  testorig.jpg
    148 	./cjpeg -dct int -outfile testout.jpg  testimg.ppm
    149 	./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
    150 	./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
    151 	./jpegtran -outfile testoutt.jpg testprog.jpg
    152 	cmp testimg.ppm testout.ppm
    153 	cmp testimg.bmp testout.bmp
    154 	cmp testimg.jpg testout.jpg
    155 	cmp testimg.ppm testoutp.ppm
    156 	cmp testimgp.jpg testoutp.jpg
    157 	cmp testorig.jpg testoutt.jpg
    158 
    159 
    160 jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    161 jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    162 jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    163 jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    164 jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    165 jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
    166 jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    167 jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    168 jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    169 jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    170 jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    171 jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    172 jcphuff.o: jcphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
    173 jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    174 jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    175 jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    176 jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    177 jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    178 jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
    179 jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
    180 jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    181 jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    182 jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    183 jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
    184 jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    185 jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    186 jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    187 jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    188 jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    189 jdphuff.o: jdphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
    190 jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    191 jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    192 jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    193 jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
    194 jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    195 jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    196 jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    197 jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    198 jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    199 jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    200 jidctred.o: jidctred.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
    201 jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    202 jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    203 jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
    204 jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    205 jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    206 jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    207 jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    208 jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    209 jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
    210 cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
    211 djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
    212 jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
    213 rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h
    214 wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h
    215 cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    216 rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    217 rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    218 transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
    219 rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    220 wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    221 rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    222 wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    223 rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    224 wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    225 rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    226 wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    227 rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    228 wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
    229