1# Makefile for libpng 2# 32-bit Borland C++ (Note: All modules are compiled in C mode) 3# To build the library, do: 4# "make -fmakefile.bc32" 5# 6# -------------------- 32-bit Borland C++ -------------------- 7 8### Absolutely necessary for this makefile to work 9.AUTODEPEND 10 11## Where zlib.h, zconf.h and zlib.lib are 12ZLIB_DIR=..\zlib 13 14 15## Compiler, linker and lib stuff 16CC=bcc32 17LD=bcc32 18LIB=tlib 19 20#TARGET_CPU=6 21# 3 = 386, 4 = 486, 5 = Pentium etc. 22!ifndef TARGET_CPU 23TARGET_CPU=5 24!endif 25 26# Use this if you don't want Borland's fancy exception handling 27NOEHLIB=noeh32.lib 28 29!ifdef DEBUG 30CDEBUG=-v 31LDEBUG=-v 32!else 33CDEBUG= 34LDEBUG= 35!endif 36 37# STACKOFLOW=1 38!ifdef STACKOFLOW 39CDEBUG=$(CDEBUG) -N 40LDEBUG=$(LDEBUG) -N 41!endif 42 43# -X- turn on dependency generation in the object file 44# -w set all warnings on 45# -O2 optimize for speed 46# -Z global optimization 47CFLAGS=-O2 -Z -X- -w -I$(ZLIB_DIR) -$(TARGET_CPU) $(CDEBUG) 48 49# -M generate map file 50LDFLAGS=-M -L$(ZLIB_DIR) $(LDEBUG) 51 52 53## Variables 54OBJS = \ 55 png.obj \ 56 pngerror.obj \ 57 pngget.obj \ 58 pngmem.obj \ 59 pngpread.obj \ 60 pngread.obj \ 61 pngrio.obj \ 62 pngrtran.obj \ 63 pngrutil.obj \ 64 pngset.obj \ 65 pngtrans.obj \ 66 pngwio.obj \ 67 pngwrite.obj \ 68 pngwtran.obj \ 69 pngwutil.obj 70 71LIBOBJS = \ 72 +png.obj \ 73 +pngerror.obj \ 74 +pngget.obj \ 75 +pngmem.obj \ 76 +pngpread.obj \ 77 +pngread.obj \ 78 +pngrio.obj \ 79 +pngrtran.obj \ 80 +pngrutil.obj \ 81 +pngset.obj \ 82 +pngtrans.obj \ 83 +pngwio.obj \ 84 +pngwrite.obj \ 85 +pngwtran.obj \ 86 +pngwutil.obj 87 88LIBNAME=libpng.lib 89 90 91## Implicit rules 92# Braces let make "batch" calls to the compiler, 93# 2 calls instead of 12; space is important. 94.c.obj: 95 $(CC) $(CFLAGS) -c {$*.c } 96 97.c.exe: 98 $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB) 99 100.obj.exe: 101 $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB) 102 103 104## Major targets 105all: libpng pngtest 106 107libpng: $(LIBNAME) 108 109pngtest: pngtest.exe 110 111test: pngtest.exe 112 pngtest 113 114 115## Minor Targets 116 117png.obj: png.c 118pngerror.obj: pngerror.c 119pngget.obj: pngget.c 120pngmem.obj: pngmem.c 121pngpread.obj: pngpread.c 122pngread.obj: pngread.c 123pngrio.obj: pngrio.c 124pngrtran.obj: pngrtran.c 125pngrutil.obj: pngrutil.c 126pngset.obj: pngset.c 127pngtrans.obj: pngtrans.c 128pngwio.obj: pngwio.c 129pngwrite.obj: pngwrite.c 130pngwtran.obj: pngwtran.c 131pngwutil.obj: pngwutil.c 132 133 134$(LIBNAME): $(OBJS) 135 -del $(LIBNAME) 136 $(LIB) $(LIBNAME) @&&| 137$(LIBOBJS), libpng 138| 139 140 141# Clean up anything else you want 142clean: 143 -del *.obj 144 -del *.exe 145 -del *.lib 146 -del *.lst 147 -del *.map 148 -del *.tds 149 150 151# End of makefile for libpng 152