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