1 # Makefile for Independent JPEG Group's software 2 3 # This makefile is for DJGPP (Delorie's GNU C port on MS-DOS), v2.0 or later. 4 # Thanks to Frank J. Donahoe for this version. 5 6 # Read installation instructions before saying "make" !! 7 8 # The name of your C compiler: 9 CC= gcc 10 11 # You may need to adjust these cc options: 12 CFLAGS= -O2 -Wall -I. 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= -s 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 DJGPP this is usually jmemnobs.o, but you could 24 # use jmemname.o if you want to use named temp files instead of swap space. 25 SYSDEPMEM= jmemnobs.o 26 27 # miscellaneous OS-dependent stuff 28 # linker 29 LN= $(CC) 30 # file deletion command 31 RM= del 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.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe 100 101 libjpeg.a: $(LIBOBJECTS) 102 $(RM) libjpeg.a 103 $(AR) libjpeg.a $(LIBOBJECTS) 104 $(AR2) libjpeg.a 105 106 cjpeg.exe: $(COBJECTS) libjpeg.a 107 $(LN) $(LDFLAGS) -o cjpeg.exe $(COBJECTS) libjpeg.a $(LDLIBS) 108 109 djpeg.exe: $(DOBJECTS) libjpeg.a 110 $(LN) $(LDFLAGS) -o djpeg.exe $(DOBJECTS) libjpeg.a $(LDLIBS) 111 112 jpegtran.exe: $(TROBJECTS) libjpeg.a 113 $(LN) $(LDFLAGS) -o jpegtran.exe $(TROBJECTS) libjpeg.a $(LDLIBS) 114 115 rdjpgcom.exe: rdjpgcom.o 116 $(LN) $(LDFLAGS) -o rdjpgcom.exe rdjpgcom.o $(LDLIBS) 117 118 wrjpgcom.exe: wrjpgcom.o 119 $(LN) $(LDFLAGS) -o wrjpgcom.exe 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 128 $(RM) cjpeg.exe 129 $(RM) djpeg.exe 130 $(RM) jpegtran.exe 131 $(RM) rdjpgcom.exe 132 $(RM) wrjpgcom.exe 133 $(RM) libjpeg.a 134 $(RM) testout*.* 135 136 test: cjpeg.exe djpeg.exe jpegtran.exe 137 $(RM) testout*.* 138 ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg 139 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg 140 ./cjpeg -dct int -outfile testout.jpg testimg.ppm 141 ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg 142 ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm 143 ./jpegtran -outfile testoutt.jpg testprog.jpg 144 fc /b testimg.ppm testout.ppm 145 fc /b testimg.bmp testout.bmp 146 fc /b testimg.jpg testout.jpg 147 fc /b testimg.ppm testoutp.ppm 148 fc /b testimgp.jpg testoutp.jpg 149 fc /b testorig.jpg testoutt.jpg 150 151 152 jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 153 jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 154 jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 155 jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 156 jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 157 jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h 158 jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 159 jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 160 jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 161 jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 162 jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 163 jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 164 jcphuff.o: jcphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h 165 jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 166 jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 167 jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 168 jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 169 jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 170 jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h 171 jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h 172 jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 173 jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 174 jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 175 jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h 176 jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 177 jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 178 jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 179 jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 180 jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 181 jdphuff.o: jdphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h 182 jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 183 jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 184 jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 185 jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h 186 jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 187 jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 188 jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 189 jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 190 jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 191 jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 192 jidctred.o: jidctred.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h 193 jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 194 jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 195 jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h 196 jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 197 jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 198 jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 199 jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 200 jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 201 jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h 202 cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h 203 djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h 204 jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h 205 rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h 206 wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h 207 cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 208 rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 209 rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 210 transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h 211 rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 212 wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 213 rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 214 wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 215 rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 216 wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 217 rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 218 wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 219 rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 220 wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 221