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= 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
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= 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
60DOCS= 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
63MKFILES= 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
68CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
69        jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
70        jconfig.vms
71CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh
72OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm
73TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
74        testimgp.jpg
75DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
76        $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
77# library object files common to compression and decompression
78COMOBJECTS= jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM)
79# compression library object files
80CLIBOBJECTS= 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
85DLIBOBJECTS= 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
90LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
91# object files for sample applications (excluding library files)
92COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \
93        cdjpeg.o
94DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \
95        cdjpeg.o
96TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o
97
98
99all: libjpeg.a cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe
100
101libjpeg.a: $(LIBOBJECTS)
102	$(RM) libjpeg.a
103	$(AR) libjpeg.a  $(LIBOBJECTS)
104	$(AR2) libjpeg.a
105
106cjpeg.exe: $(COBJECTS) libjpeg.a
107	$(LN) $(LDFLAGS) -o cjpeg.exe $(COBJECTS) libjpeg.a $(LDLIBS)
108
109djpeg.exe: $(DOBJECTS) libjpeg.a
110	$(LN) $(LDFLAGS) -o djpeg.exe $(DOBJECTS) libjpeg.a $(LDLIBS)
111
112jpegtran.exe: $(TROBJECTS) libjpeg.a
113	$(LN) $(LDFLAGS) -o jpegtran.exe $(TROBJECTS) libjpeg.a $(LDLIBS)
114
115rdjpgcom.exe: rdjpgcom.o
116	$(LN) $(LDFLAGS) -o rdjpgcom.exe rdjpgcom.o $(LDLIBS)
117
118wrjpgcom.exe: wrjpgcom.o
119	$(LN) $(LDFLAGS) -o wrjpgcom.exe wrjpgcom.o $(LDLIBS)
120
121jconfig.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
126clean:
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
136test: 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
152jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
153jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
154jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
155jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
156jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
157jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
158jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
159jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
160jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
161jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
162jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
163jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
164jcphuff.o: jcphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
165jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
166jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
167jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
168jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
169jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
170jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
171jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
172jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
173jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
174jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
175jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
176jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
177jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
178jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
179jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
180jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
181jdphuff.o: jdphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
182jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
183jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
184jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
185jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
186jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
187jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
188jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
189jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
190jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
191jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
192jidctred.o: jidctred.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
193jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
194jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
195jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
196jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
197jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
198jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
199jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
200jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
201jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
202cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
203djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
204jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
205rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h
206wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h
207cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
208rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
209rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
210transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
211rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
212wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
213rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
214wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
215rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
216wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
217rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
218wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
219rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
220wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
221