1# Makefile for Independent JPEG Group's software 2 3# This makefile is for Microsoft Visual C++ on Windows NT (and 95?). 4# It builds the IJG library as a statically linkable library (.LIB), 5# and builds the sample applications as console-mode apps. 6# Thanks to Xingong Chang, Raymond Everly and others. 7 8# Read installation instructions before saying "nmake" !! 9# To build an optimized library without debug info, say "nmake nodebug=1". 10 11# Put here the object file name for the correct system-dependent memory 12# manager file. For NT we suggest jmemnobs.obj, which expects the OS to 13# provide adequate virtual memory. 14SYSDEPMEM= $D\jmemnobs.obj 15 16# miscellaneous OS-dependent stuff 17# file deletion command 18!if "$(RM)" == "" 19RM= erase 20!endif 21 22# End of configurable options. 23 24# source files: JPEG library proper 25LIBSOURCES= jcapimin.c \ 26 jcapistd.c \ 27 jccoefct.c \ 28 jccolor.c \ 29 jcdctmgr.c \ 30 jchuff.c \ 31 jcinit.c \ 32 jcmainct.c \ 33 jcmarker.c \ 34 jcmaster.c \ 35 jcomapi.c \ 36 jcparam.c \ 37 jcphuff.c \ 38 jcprepct.c \ 39 jcsample.c \ 40 jctrans.c \ 41 jdapimin.c \ 42 jdapistd.c \ 43 jdatadst.c \ 44 jdatasrc.c \ 45 jdcoefct.c \ 46 jdcolor.c \ 47 jddctmgr.c \ 48 jdhuff.c \ 49 jdinput.c \ 50 jdmainct.c \ 51 jdmarker.c \ 52 jdmaster.c \ 53 jdmerge.c \ 54 jdphuff.c \ 55 jdpostct.c \ 56 jdsample.c \ 57 jdtrans.c \ 58 jerror.c \ 59 jfdctflt.c \ 60 jfdctfst.c \ 61 jfdctint.c \ 62 jidctflt.c \ 63 jidctfst.c \ 64 jidctint.c \ 65 jidctred.c \ 66 jquant1.c \ 67 jquant2.c \ 68 jutils.c \ 69 jmemmgr.c 70 71# memmgr back ends: compile only one of these into a working library 72SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c 73 74# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom 75APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ 76 rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ 77 rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c 78 79SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) 80 81# files included by source files 82INCLUDES= jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h \ 83 jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h 84 85# documentation, test, and support files 86DOCS= README install.doc usage.doc cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ 87 wrjpgcom.1 wizard.doc example.c libjpeg.doc structure.doc \ 88 coderules.doc filelist.doc change.log 89 90MKFILES= configure makefile.cfg makefile.ansi makefile.unix makefile.bcc \ 91 makefile.mc6 makefile.dj makefile.wat makefile.vc makelib.ds \ 92 makeapps.ds makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st \ 93 maktjpeg.st makefile.manx makefile.sas makefile.mms makefile.vms \ 94 makvms.opt 95 96CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ 97 jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ 98 jconfig.vms 99 100CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh 101OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm 102TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ 103 testimgp.jpg 104DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ 105 $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) 106 107# library object files common to compression and decompression 108COMOBJECTS= $D\jcomapi.obj $D\jutils.obj $D\jerror.obj $D\jmemmgr.obj $(SYSDEPMEM) 109 110# compression library object files 111CLIBOBJECTS= $D\jcapimin.obj \ 112 $D\jcapistd.obj \ 113 $D\jctrans.obj \ 114 $D\jcparam.obj \ 115 $D\jdatadst.obj \ 116 $D\jcinit.obj \ 117 $D\jcmaster.obj \ 118 $D\jcmarker.obj \ 119 $D\jcmainct.obj \ 120 $D\jcprepct.obj \ 121 $D\jccoefct.obj \ 122 $D\jccolor.obj \ 123 $D\jcsample.obj \ 124 $D\jchuff.obj \ 125 $D\jcphuff.obj \ 126 $D\jcdctmgr.obj \ 127 $D\jfdctfst.obj \ 128 $D\jfdctflt.obj \ 129 $D\jfdctint.obj 130 131# decompression library object files 132DLIBOBJECTS= $D\jdapimin.obj \ 133 $D\jdapistd.obj \ 134 $D\jdtrans.obj \ 135 $D\jdatasrc.obj \ 136 $D\jdmaster.obj \ 137 $D\jdinput.obj \ 138 $D\jdmarker.obj \ 139 $D\jdhuff.obj \ 140 $D\jdphuff.obj \ 141 $D\jdmainct.obj \ 142 $D\jdcoefct.obj \ 143 $D\jdpostct.obj \ 144 $D\jddctmgr.obj \ 145 $D\jidctfst.obj \ 146 $D\jidctflt.obj \ 147 $D\jidctint.obj \ 148 $D\jidctred.obj \ 149 $D\jdsample.obj \ 150 $D\jdcolor.obj \ 151 $D\jquant1.obj \ 152 $D\jquant2.obj \ 153 $D\jdmerge.obj 154# These objectfiles are included in libjpeg.lib 155OBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) 156 157# object files for sample applications (excluding library files) 158COBJECTS= $D\cjpeg.obj \ 159 $D\rdppm.obj \ 160 $D\rdgif.obj \ 161 $D\rdtarga.obj \ 162 $D\rdrle.obj \ 163 $D\rdbmp.obj \ 164 $D\rdswitch.obj \ 165 $D\cdjpeg.obj 166 167DOBJECTS= $D\djpeg.obj \ 168 $D\wrppm.obj \ 169 $D\wrgif.obj \ 170 $D\wrtarga.obj \ 171 $D\wrrle.obj \ 172 $D\wrbmp.obj \ 173 $D\rdcolmap.obj \ 174 $D\cdjpeg.obj 175 176TROBJECTS= $D\jpegtran.obj \ 177 $D\rdswitch.obj \ 178 $D\cdjpeg.obj \ 179 $D\transupp.obj 180 181!if "$(FINAL)" == "1" 182LIBTARGET=..\..\lib\jpeg.lib 183!else if "$(FINAL)" == "hybrid" 184LIBTARGET=..\..\lib\jpegh.lib 185!else 186LIBTARGET=..\..\lib\jpegd.lib 187!endif 188 189# Note: we have to put this first, to override the default definition 190# which doesn't work because there are too many files on the command line. 191# This means that we must explicitly use the 'all' target when making 192# jpeg.lib, because of the ordering of targets. 193 194defaulttarget: 195 echo Please use the 'all' target for this makefile. 196 197 198# Pull in standard variable definitions 199 200!include ..\makelib.vc 201 202