• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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