| 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. |
| 14 | SYSDEPMEM= jmemnobs.obj |
| 15 | |
| 16 | # miscellaneous OS-dependent stuff |
| 17 | # file deletion command |
| 18 | RM= del |
| 19 | |
| 20 | # End of configurable options. |
| 21 | |
| 22 | |
| 23 | # source files: JPEG library proper |
| 24 | LIBSOURCES= jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \ |
| 25 | jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \ |
| 26 | jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \ |
| 27 | jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \ |
| 28 | jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \ |
| 29 | jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \ |
| 30 | jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c \ |
| 31 | jquant2.c jutils.c jmemmgr.c |
| 32 | # memmgr back ends: compile only one of these into a working library |
| 33 | SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c |
| 34 | # source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom |
| 35 | APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ |
| 36 | rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ |
| 37 | rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c |
| 38 | SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) |
| 39 | # files included by source files |
| 40 | INCLUDES= jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h \ |
| 41 | jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h |
| 42 | # documentation, test, and support files |
| 43 | DOCS= README install.doc usage.doc cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ |
| 44 | wrjpgcom.1 wizard.doc example.c libjpeg.doc structure.doc \ |
| 45 | coderules.doc filelist.doc change.log |
| 46 | MKFILES= configure makefile.cfg makefile.ansi makefile.unix makefile.bcc \ |
| 47 | makefile.mc6 makefile.dj makefile.wat makefile.vc makelib.ds \ |
| 48 | makeapps.ds makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st \ |
| 49 | maktjpeg.st makefile.manx makefile.sas makefile.mms makefile.vms \ |
| 50 | makvms.opt |
| 51 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
| 52 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
| 53 | jconfig.vms |
| 54 | CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh |
| 55 | OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm |
| 56 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
| 57 | testimgp.jpg |
| 58 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
| 59 | $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) |
| 60 | # library object files common to compression and decompression |
| 61 | COMOBJECTS= jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) |
| 62 | # compression library object files |
| 63 | CLIBOBJECTS= jcapimin.obj jcapistd.obj jctrans.obj jcparam.obj jdatadst.obj \ |
| 64 | jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj jcprepct.obj \ |
| 65 | jccoefct.obj jccolor.obj jcsample.obj jchuff.obj jcphuff.obj \ |
| 66 | jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj |
| 67 | # decompression library object files |
| 68 | DLIBOBJECTS= jdapimin.obj jdapistd.obj jdtrans.obj jdatasrc.obj \ |
| 69 | jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdphuff.obj \ |
| 70 | jdmainct.obj jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj \ |
| 71 | jidctflt.obj jidctint.obj jidctred.obj jdsample.obj jdcolor.obj \ |
| 72 | jquant1.obj jquant2.obj jdmerge.obj |
| 73 | # These objectfiles are included in libjpeg.lib |
| 74 | OBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) |
| 75 | # object files for sample applications (excluding library files) |
| 76 | COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \ |
| 77 | rdswitch.obj cdjpeg.obj |
| 78 | DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \ |
| 79 | rdcolmap.obj cdjpeg.obj |
| 80 | TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj |
| 81 | |
| 82 | !if "$(FINAL)" == "1" |
| 83 | LIBTARGET=..\..\lib\jpeg.lib |
| 84 | !else if "$(FINAL)" == "hybrid" |
| 85 | LIBTARGET=..\..\lib\jpegh.lib |
| 86 | !else |
| 87 | LIBTARGET=..\..\lib\jpegd.lib |
| 88 | !endif |
| 89 | |
| 90 | # Note: we have to put this first, to override the default definition |
| 91 | # which doesn't work because there are too many files on the command line. |
| 92 | # This means that we must explicitly use the 'all' target when making |
| 93 | # jpeg.lib, because of the ordering of targets. |
| 94 | |
| 95 | defaulttarget: |
| 96 | echo Please use the 'all' target for this makefile. |
| 97 | |
| 98 | clean: |
| 99 | -erase $(LIBTARGET) |
| 100 | -erase *.obj |
| 101 | |
| 102 | # Pull in standard variable definitions |
| 103 | |
| 104 | !include ..\makelib.vc |
| 105 | |