1 # Makefile for Independent JPEG Group's software
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.
6 # Read installation instructions before saying "make" !!
8 # The name of your C compiler:
11 # You may need to adjust these cc options:
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:
18 # Link-time cc options:
21 # To link any special libraries, add the necessary -l commands here.
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.
29 # miscellaneous OS-dependent stuff
32 # file deletion command
36 # library (.a) file creation command
38 # second step in .a creation (use "touch" if not needed)
41 # End of configurable options.
44 # source files: JPEG library proper
45 LIBSOURCES= 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
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= 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
64 DOCS= 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
67 MKFILES= 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.vc9 \
73 makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \
74 makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \
75 makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \
76 makefile.vms makvms.opt
77 CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
78 jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
80 CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing
81 OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \
83 TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
85 DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
86 $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
87 # library object files common to compression and decompression
88 COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM)
89 # compression library object files
90 CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \
91 jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \
92 jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \
94 # decompression library object files
95 DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \
96 jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \
97 jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \
98 jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o
99 # These objectfiles are included in libjpeg.a
100 LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
101 # object files for sample applications (excluding library files)
102 COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \
104 DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \
106 TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o
109 all: ansi2knr libjpeg.a cjpeg djpeg jpegtran rdjpgcom wrjpgcom
111 # This rule causes ansi2knr to be invoked.
113 ./ansi2knr $*.c T$*.c
114 $(CC) $(CFLAGS) -c T$*.c
119 $(CC) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
121 libjpeg.a: ansi2knr $(LIBOBJECTS)
123 $(AR) libjpeg.a $(LIBOBJECTS)
126 cjpeg: ansi2knr $(COBJECTS) libjpeg.a
127 $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.a $(LDLIBS)
129 djpeg: ansi2knr $(DOBJECTS) libjpeg.a
130 $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.a $(LDLIBS)
132 jpegtran: ansi2knr $(TROBJECTS) libjpeg.a
133 $(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.a $(LDLIBS)
136 $(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS)
139 $(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS)
141 jconfig.h: jconfig.txt
142 echo You must prepare a system-dependent jconfig.h file.
143 echo Please read the installation directions in install.txt.
147 $(RM) *.o cjpeg djpeg jpegtran libjpeg.a rdjpgcom wrjpgcom
148 $(RM) ansi2knr core testout*
150 test: cjpeg djpeg jpegtran
152 ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg
153 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg
154 ./cjpeg -dct int -outfile testout.jpg testimg.ppm
155 ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
156 ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
157 ./jpegtran -outfile testoutt.jpg testprog.jpg
158 cmp testimg.ppm testout.ppm
159 cmp testimg.bmp testout.bmp
160 cmp testimg.jpg testout.jpg
161 cmp testimg.ppm testoutp.ppm
162 cmp testimgp.jpg testoutp.jpg
163 cmp testorig.jpg testoutt.jpg
166 jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
167 jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
168 jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
169 jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
170 jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
171 jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
172 jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
173 jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
174 jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
175 jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
176 jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
177 jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
178 jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
179 jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
180 jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
181 jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
182 jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
183 jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
184 jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
185 jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
186 jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
187 jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
188 jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
189 jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
190 jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
191 jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
192 jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
193 jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
194 jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
195 jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
196 jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
197 jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
198 jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
199 jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
200 jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
201 jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
202 jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
203 jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
204 jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
205 jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
206 jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
207 jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
208 jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
209 jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
210 jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
211 jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
212 jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
213 jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
214 jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
215 jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
216 cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
217 djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
218 jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
219 rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h
220 wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h
221 cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
222 rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
223 rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
224 transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
225 rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
226 wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
227 rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
228 wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
229 rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
230 wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
231 rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
232 wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
233 rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
234 wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h