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