1# Makefile for Independent JPEG Group's software
2
3# This makefile is for Amiga systems using SAS C 6.0 and up.
4# Thanks to Ed Hanway, Mark Rinfret, and Jim Zepeda.
5
6# Read installation instructions before saying "make" !!
7
8# The name of your C compiler:
9CC= sc
10
11# You may need to adjust these cc options:
12# Uncomment the following lines for generic 680x0 version
13ARCHFLAGS= cpu=any
14SUFFIX=
15
16# Uncomment the following lines for 68030-only version
17#ARCHFLAGS= cpu=68030
18#SUFFIX=.030
19
20CFLAGS= nostackcheck data=near parms=register optimize $(ARCHFLAGS) \
21	ignore=104 ignore=304 ignore=306
22# ignore=104 disables warnings for mismatched const qualifiers
23# ignore=304 disables warnings for variables being optimized out
24# ignore=306 disables warnings for the inlining of functions
25# Generally, we recommend defining any configuration symbols in jconfig.h,
26# NOT via define switches here.
27
28# Link-time cc options:
29LDFLAGS= SC SD ND BATCH
30
31# To link any special libraries, add the necessary commands here.
32LDLIBS= LIB:scm.lib LIB:sc.lib
33
34# Put here the object file name for the correct system-dependent memory
35# manager file.  For Amiga we recommend jmemname.o.
36SYSDEPMEM= jmemname.o
37
38# miscellaneous OS-dependent stuff
39# linker
40LN= slink
41# file deletion command
42RM= delete quiet
43# library (.lib) file creation command
44AR= oml
45
46# End of configurable options.
47
48
49# source files: JPEG library proper
50LIBSOURCES= jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \
51        jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \
52        jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \
53        jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \
54        jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \
55        jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \
56        jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c \
57        jquant2.c jutils.c jmemmgr.c
58# memmgr back ends: compile only one of these into a working library
59SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c
60# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom
61APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \
62        rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \
63        rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c
64SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES)
65# files included by source files
66INCLUDES= jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h \
67        jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h
68# documentation, test, and support files
69DOCS= README install.doc usage.doc cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
70        wrjpgcom.1 wizard.doc example.c libjpeg.doc structure.doc \
71        coderules.doc filelist.doc change.log
72MKFILES= configure makefile.cfg makefile.ansi makefile.unix makefile.bcc \
73        makefile.mc6 makefile.dj makefile.wat makefile.vc makelib.ds \
74        makeapps.ds makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st \
75        maktjpeg.st makefile.manx makefile.sas makefile.mms makefile.vms \
76        makvms.opt
77CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
78        jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
79        jconfig.vms
80CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh
81OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm
82TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
83        testimgp.jpg
84DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
85        $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
86# library object files common to compression and decompression
87COMOBJECTS= jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM)
88# compression library object files
89CLIBOBJECTS= jcapimin.o jcapistd.o jctrans.o jcparam.o jdatadst.o jcinit.o \
90        jcmaster.o jcmarker.o jcmainct.o jcprepct.o jccoefct.o jccolor.o \
91        jcsample.o jchuff.o jcphuff.o jcdctmgr.o jfdctfst.o jfdctflt.o \
92        jfdctint.o
93# decompression library object files
94DLIBOBJECTS= jdapimin.o jdapistd.o jdtrans.o jdatasrc.o jdmaster.o \
95        jdinput.o jdmarker.o jdhuff.o jdphuff.o jdmainct.o jdcoefct.o \
96        jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o jidctred.o \
97        jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o
98# These objectfiles are included in libjpeg.lib
99LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
100# object files for sample applications (excluding library files)
101COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \
102        cdjpeg.o
103DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \
104        cdjpeg.o
105TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o
106
107
108all: libjpeg.lib cjpeg$(SUFFIX) djpeg$(SUFFIX) jpegtran$(SUFFIX) rdjpgcom$(SUFFIX) wrjpgcom$(SUFFIX)
109
110# note: do several AR steps to avoid command line length limitations
111
112libjpeg.lib: $(LIBOBJECTS)
113	-$(RM) libjpeg.lib
114	$(AR) libjpeg.lib r $(CLIBOBJECTS)
115	$(AR) libjpeg.lib r $(DLIBOBJECTS)
116	$(AR) libjpeg.lib r $(COMOBJECTS)
117
118cjpeg$(SUFFIX): $(COBJECTS) libjpeg.lib
119	$(LN) <WITH <
120$(LDFLAGS)
121TO cjpeg$(SUFFIX)
122FROM LIB:c.o $(COBJECTS)
123LIB libjpeg.lib $(LDLIBS)
124<
125
126djpeg$(SUFFIX): $(DOBJECTS) libjpeg.lib
127	$(LN) <WITH <
128$(LDFLAGS)
129TO djpeg$(SUFFIX)
130FROM LIB:c.o $(DOBJECTS)
131LIB libjpeg.lib $(LDLIBS)
132<
133
134jpegtran$(SUFFIX): $(TROBJECTS) libjpeg.lib
135	$(LN) <WITH <
136$(LDFLAGS)
137TO jpegtran$(SUFFIX)
138FROM LIB:c.o $(TROBJECTS)
139LIB libjpeg.lib $(LDLIBS)
140<
141
142rdjpgcom$(SUFFIX): rdjpgcom.o
143	$(LN) <WITH <
144$(LDFLAGS)
145TO rdjpgcom$(SUFFIX)
146FROM LIB:c.o rdjpgcom.o
147LIB $(LDLIBS)
148<
149
150wrjpgcom$(SUFFIX): wrjpgcom.o
151	$(LN) <WITH <
152$(LDFLAGS)
153TO wrjpgcom$(SUFFIX)
154FROM LIB:c.o wrjpgcom.o
155LIB $(LDLIBS)
156<
157
158jconfig.h: jconfig.doc
159	echo You must prepare a system-dependent jconfig.h file.
160	echo Please read the installation directions in install.doc.
161	exit 1
162
163clean:
164	-$(RM) *.o cjpeg djpeg jpegtran cjpeg.030 djpeg.030 jpegtran.030
165	-$(RM) rdjpgcom wrjpgcom rdjpgcom.030 wrjpgcom.030
166	-$(RM) libjpeg.lib core testout*.*
167
168test: cjpeg djpeg jpegtran
169	-$(RM) testout*.*
170	djpeg -dct int -ppm -outfile testout.ppm  testorig.jpg
171	djpeg -dct int -bmp -colors 256 -outfile testout.bmp  testorig.jpg
172	cjpeg -dct int -outfile testout.jpg  testimg.ppm
173	djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
174	cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
175	jpegtran -outfile testoutt.jpg testprog.jpg
176	cmp testimg.ppm testout.ppm
177	cmp testimg.bmp testout.bmp
178	cmp testimg.jpg testout.jpg
179	cmp testimg.ppm testoutp.ppm
180	cmp testimgp.jpg testoutp.jpg
181	cmp testorig.jpg testoutt.jpg
182
183
184jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
185jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
186jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
187jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
188jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
189jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
190jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
191jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
192jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
193jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
194jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
195jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
196jcphuff.o: jcphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jchuff.h
197jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
198jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
199jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
200jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
201jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
202jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
203jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
204jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
205jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
206jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
207jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
208jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
209jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
210jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
211jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
212jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
213jdphuff.o: jdphuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdhuff.h
214jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
215jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
216jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
217jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
218jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
219jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
220jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
221jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
222jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
223jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
224jidctred.o: jidctred.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
225jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
226jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
227jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
228jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
229jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
230jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
231jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
232jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
233jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
234cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
235djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
236jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
237rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h
238wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h
239cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
240rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
241rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
242transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
243rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
244wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
245rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
246wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
247rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
248wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
249rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
250wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
251rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
252wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
253