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.bcc \ 68 makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ 69 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ 70 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ 71 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ 72 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.v10 \ 73 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 makecfil.v10 \ 74 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 makervcx.v10 \ 75 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac makcjpeg.st \ 76 makdjpeg.st makljpeg.st maktjpeg.st makefile.manx makefile.sas \ 77 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 84TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ 85 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 -bmp -colors 256 -outfile testout.bmp testorig.jpg 155 ./cjpeg -dct int -outfile testout.jpg testimg.ppm 156 ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg 157 ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm 158 ./jpegtran -outfile testoutt.jpg testprog.jpg 159 cmp testimg.ppm testout.ppm 160 cmp testimg.bmp testout.bmp 161 cmp testimg.jpg testout.jpg 162 cmp testimg.ppm testoutp.ppm 163 cmp testimgp.jpg testoutp.jpg 164 cmp testorig.jpg testoutt.jpg 165 166 167jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 168jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 169jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 170jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 171jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 172jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 173jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 174jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 175jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 176jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 177jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 178jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 179jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 180jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 181jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 182jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 183jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 184jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 185jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 186jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 187jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h 188jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h 189jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 190jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 191jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 192jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 193jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 194jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 195jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 196jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 197jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 198jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 199jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 200jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 201jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h 202jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 203jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 204jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 205jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 206jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 207jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 208jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 209jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 210jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 211jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 212jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 213jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 214jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 215jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 216jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 217cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h 218djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h 219jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h 220rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h 221wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h 222cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 223rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 224rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 225transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h 226rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 227wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 228rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 229wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 230rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 231wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 232rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 233wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 234rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 235wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 236