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