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