# Makefile for Independent JPEG Group's software # This makefile is for Microsoft C for MS-DOS, version 5.x. # See README and edit jconfig.h before saying "make" !! # Microsoft's brain-damaged version of make uses nonstandard syntax (a blank # line is needed to terminate a command list) and it simply scans the rules # in order, rather than doing a true dependency-tree walk. Furthermore, # expanded command lines can't exceed 128 chars (this is a DOS bug, not # make's fault); so we can't just name all the objectfiles in the link steps. # Instead we shove each objectfile into a library as it is made, and link # from the library. The objectfiles are also kept separately as timestamps. # You may need to adjust these cc options: CFLAGS= /AS /I. /W3 /Oail /Gs /DMEM_STATS # NB: /Gs turns off stack oflo checks LDFLAGS= /Fm /F 2000 # /F hhhh sets stack size (in hex) # In particular: # Add /DMSDOS if your compiler doesn't automatically #define MSDOS. # Add /DHAVE_GETOPT if your library includes getopt(3) (see jcmain.c, jdmain.c). # /DMEM_STATS is optional -- it enables gathering of memory usage statistics. # compression objectfiles COBJECTS = jcmain.obj jcmaster.obj jcdeflts.obj jcarith.obj jccolor.obj jcexpand.obj \ jchuff.obj jcmcu.obj jcpipe.obj jcsample.obj jfwddct.obj \ jrdgif.obj jrdppm.obj jwrjfif.obj \ jutils.obj jvirtmem.obj jerror.obj # decompression objectfiles DOBJECTS = jdmain.obj jdmaster.obj jbsmooth.obj jdarith.obj jdcolor.obj jdhuff.obj \ jdmcu.obj jdpipe.obj jdsample.obj jquant1.obj jquant2.obj jrevdct.obj \ jrdjfif.obj jwrgif.obj jwrppm.obj \ jutils.obj jvirtmem.obj jerror.obj # inference rule used for all compilations except jcmain.c, jdmain.c # notice that objectfile is also inserted into libjpeg.lib .c.obj: cl $(CFLAGS) /c $*.c lib libjpeg -+$*.obj; # these two objectfiles are not inserted into libjpeg # because they have duplicate global symbol names (notably main()). jcmain.obj: jcmain.c jinclude.h jconfig.h jpegdata.h egetopt.c cl $(CFLAGS) /c $*.c jdmain.obj: jdmain.c jinclude.h jconfig.h jpegdata.h egetopt.c cl $(CFLAGS) /c $*.c jbsmooth.obj: jbsmooth.c jinclude.h jconfig.h jpegdata.h jcarith.obj: jcarith.c jinclude.h jconfig.h jpegdata.h jccolor.obj: jccolor.c jinclude.h jconfig.h jpegdata.h jcdeflts.obj: jcdeflts.c jinclude.h jconfig.h jpegdata.h jcexpand.obj: jcexpand.c jinclude.h jconfig.h jpegdata.h jchuff.obj: jchuff.c jinclude.h jconfig.h jpegdata.h jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpegdata.h jcmcu.obj: jcmcu.c jinclude.h jconfig.h jpegdata.h jcpipe.obj: jcpipe.c jinclude.h jconfig.h jpegdata.h jcsample.obj: jcsample.c jinclude.h jconfig.h jpegdata.h jdarith.obj: jdarith.c jinclude.h jconfig.h jpegdata.h jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpegdata.h jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpegdata.h jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpegdata.h jdmcu.obj: jdmcu.c jinclude.h jconfig.h jpegdata.h jdpipe.obj: jdpipe.c jinclude.h jconfig.h jpegdata.h jdsample.obj: jdsample.c jinclude.h jconfig.h jpegdata.h jerror.obj: jerror.c jinclude.h jconfig.h jpegdata.h jfwddct.obj: jfwddct.c jinclude.h jconfig.h jpegdata.h jquant1.obj: jquant1.c jinclude.h jconfig.h jpegdata.h jquant2.obj: jquant2.c jinclude.h jconfig.h jpegdata.h jrdjfif.obj: jrdjfif.c jinclude.h jconfig.h jpegdata.h jrdgif.obj: jrdgif.c jinclude.h jconfig.h jpegdata.h jrdppm.obj: jrdppm.c jinclude.h jconfig.h jpegdata.h jrevdct.obj: jrevdct.c jinclude.h jconfig.h jpegdata.h jutils.obj: jutils.c jinclude.h jconfig.h jpegdata.h jvirtmem.obj: jvirtmem.c jinclude.h jconfig.h jpegdata.h jwrjfif.obj: jwrjfif.c jinclude.h jconfig.h jpegdata.h jwrgif.obj: jwrgif.c jinclude.h jconfig.h jpegdata.h jwrppm.obj: jwrppm.c jinclude.h jconfig.h jpegdata.h cjpeg.exe: $(COBJECTS) cl /Fecjpeg.exe jcmain.obj libjpeg.lib $(LDFLAGS) djpeg.exe: $(DOBJECTS) cl /Fedjpeg.exe jdmain.obj libjpeg.lib $(LDFLAGS)