| # Makefile for libpng | 
 | # 32-bit Borland C++ (Note: All modules are compiled in C mode) | 
 | # To build the library, do: | 
 | #       "make -fmakefile.bc32" | 
 | # | 
 | # -------------------- 32-bit Borland C++ -------------------- | 
 |  | 
 | ### Absolutely necessary for this makefile to work | 
 | .AUTODEPEND | 
 |  | 
 | ## Where zlib.h, zconf.h and zlib.lib are | 
 | ZLIB_DIR=..\zlib | 
 |  | 
 |  | 
 | ## Compiler, linker and lib stuff | 
 | CC=bcc32 | 
 | LD=bcc32 | 
 | LIB=tlib | 
 |  | 
 | # -3 = 386, -4 = 486, -5 = Pentium etc. | 
 | !ifndef TARGET_CPU | 
 | #TARGET_CPU=-6 | 
 | !endif | 
 |  | 
 | # Use this if you don't want Borland's fancy exception handling | 
 | # (Caution: doesn't work with CBuilderX) | 
 | #NOEHLIB=noeh32.lib | 
 |  | 
 | !ifdef DEBUG | 
 | CDEBUG=-v | 
 | LDEBUG=-v | 
 | !else | 
 | CDEBUG= | 
 | LDEBUG= | 
 | !endif | 
 |  | 
 | # STACKOFLOW=1 | 
 | !ifdef STACKOFLOW | 
 | CDEBUG=$(CDEBUG) -N | 
 | LDEBUG=$(LDEBUG) -N | 
 | !endif | 
 |  | 
 | # -O2 optimize for speed | 
 | # -d  merge duplicate strings | 
 | # -k- turn off standard stack frame | 
 | # -w  display all warnings | 
 | CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG) | 
 |  | 
 | # -M  generate map file | 
 | LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG) | 
 |  | 
 |  | 
 | ## Variables | 
 | OBJS = \ | 
 | 	png.obj \ | 
 | 	pngerror.obj \ | 
 | 	pngget.obj \ | 
 | 	pngmem.obj \ | 
 | 	pngpread.obj \ | 
 | 	pngread.obj \ | 
 | 	pngrio.obj \ | 
 | 	pngrtran.obj \ | 
 | 	pngrutil.obj \ | 
 | 	pngset.obj \ | 
 | 	pngtrans.obj \ | 
 | 	pngwio.obj \ | 
 | 	pngwrite.obj \ | 
 | 	pngwtran.obj \ | 
 | 	pngwutil.obj | 
 |  | 
 | LIBOBJS = \ | 
 | 	+png.obj \ | 
 | 	+pngerror.obj \ | 
 | 	+pngget.obj \ | 
 | 	+pngmem.obj \ | 
 | 	+pngpread.obj \ | 
 | 	+pngread.obj \ | 
 | 	+pngrio.obj \ | 
 | 	+pngrtran.obj \ | 
 | 	+pngrutil.obj \ | 
 | 	+pngset.obj \ | 
 | 	+pngtrans.obj \ | 
 | 	+pngwio.obj \ | 
 | 	+pngwrite.obj \ | 
 | 	+pngwtran.obj \ | 
 | 	+pngwutil.obj | 
 |  | 
 | LIBNAME=libpng.lib | 
 |  | 
 |  | 
 | ## Implicit rules | 
 | # Braces let make "batch" calls to the compiler, | 
 | # 2 calls instead of 12; space is important. | 
 | .c.obj: | 
 | 	$(CC) $(CFLAGS) -c {$*.c } | 
 |  | 
 | .c.exe: | 
 | 	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB) | 
 |  | 
 | .obj.exe: | 
 | 	$(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB) | 
 |  | 
 |  | 
 | ## Major targets | 
 | all: libpng pngtest | 
 |  | 
 | libpng: $(LIBNAME) | 
 |  | 
 | pngtest: pngtest.exe | 
 |  | 
 | test: pngtest.exe | 
 | 	pngtest | 
 |  | 
 |  | 
 | ## Minor Targets | 
 |  | 
 | png.obj: png.c | 
 | pngerror.obj: pngerror.c | 
 | pngget.obj: pngget.c | 
 | pngmem.obj: pngmem.c | 
 | pngpread.obj: pngpread.c | 
 | pngread.obj: pngread.c | 
 | pngrio.obj: pngrio.c | 
 | pngrtran.obj: pngrtran.c | 
 | pngrutil.obj: pngrutil.c | 
 | pngset.obj: pngset.c | 
 | pngtrans.obj: pngtrans.c | 
 | pngwio.obj: pngwio.c | 
 | pngwrite.obj: pngwrite.c | 
 | pngwtran.obj: pngwtran.c | 
 | pngwutil.obj: pngwutil.c | 
 |  | 
 |  | 
 | $(LIBNAME): $(OBJS) | 
 | 	-del $(LIBNAME) | 
 | 	$(LIB) $(LIBNAME) @&&| | 
 | $(LIBOBJS), libpng | 
 | | | 
 |  | 
 |  | 
 | # Cleanup | 
 | clean: | 
 | 	-del *.obj | 
 | 	-del $(LIBNAME) | 
 | 	-del pngtest.exe | 
 | 	-del *.lst | 
 | 	-del *.map | 
 | 	-del *.tds | 
 | 	-del pngout.png | 
 |  | 
 |  | 
 | # End of makefile for libpng |