|  | # Makefile for libpng | 
|  | # 16-bit Borland C++ (Note: All modules are compiled in C mode) | 
|  | # To build the library, do: | 
|  | #       "make -fmakefile.bor -DMODEL=c" | 
|  | # or:   "make -fmakefile.bor -DMODEL=l" | 
|  | # | 
|  | # ------------ Borland C++ ------------ | 
|  |  | 
|  | ### Absolutely necessary for this makefile to work | 
|  | .AUTODEPEND | 
|  |  | 
|  | ## Where zlib.h, zconf.h and zlib_MODEL.lib are | 
|  | ZLIB_DIR=..\zlib | 
|  |  | 
|  |  | 
|  | ## Compiler, linker and lib stuff | 
|  | CC=bcc | 
|  | LD=bcc | 
|  | LIB=tlib | 
|  |  | 
|  | !ifndef MODEL | 
|  | MODEL=l | 
|  | !endif | 
|  |  | 
|  | MODEL_ARG=-m$(MODEL) | 
|  |  | 
|  | #TARGET_CPU=3 | 
|  | # 2 = 286, 3 = 386, etc. | 
|  | !ifndef TARGET_CPU | 
|  | TARGET_CPU=2 | 
|  | !endif | 
|  |  | 
|  | # Use this if you don't want Borland's fancy exception handling | 
|  | # (for Borland C++ 4.0 or later) | 
|  | #NOEHLIB=noeh$(MODEL).lib | 
|  |  | 
|  | !ifdef DEBUG | 
|  | CDEBUG=-v | 
|  | LDEBUG=-v | 
|  | !else | 
|  | CDEBUG= | 
|  | LDEBUG= | 
|  | !endif | 
|  |  | 
|  | # STACKOFLOW=1 | 
|  | !ifdef STACKOFLOW | 
|  | CDEBUG=$(CDEBUG) -N | 
|  | LDEBUG=$(LDEBUG) -N | 
|  | !endif | 
|  |  | 
|  | # -X- turn on dependency generation in the object file | 
|  | # -w  set all warnings on | 
|  | # -O2 optimize for speed | 
|  | # -Z  global optimization | 
|  | CFLAGS=-O2 -Z -X- -w -I$(ZLIB_DIR) -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG) | 
|  |  | 
|  | # -M  generate map file | 
|  | LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(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$(MODEL).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_$(MODEL).lib $(NOEHLIB) | 
|  |  | 
|  |  | 
|  | ## Major targets | 
|  | all: libpng pngtest | 
|  |  | 
|  | libpng: $(LIBNAME) | 
|  |  | 
|  | pngtest: pngtest$(MODEL).exe | 
|  |  | 
|  | test: pngtest$(MODEL).exe | 
|  | pngtest$(MODEL) | 
|  |  | 
|  |  | 
|  | ## 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$(MODEL) | 
|  | | | 
|  |  | 
|  |  | 
|  | pngtest$(MODEL).obj: pngtest.c | 
|  | $(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c | 
|  |  | 
|  | pngtest$(MODEL).exe: pngtest$(MODEL).obj | 
|  | $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB) | 
|  |  | 
|  |  | 
|  | # Clean up anything else you want | 
|  | clean: | 
|  | -del *.obj | 
|  | -del *.exe | 
|  | -del *.lib | 
|  | -del *.lst | 
|  | -del *.map | 
|  |  | 
|  |  | 
|  | # End of makefile for libpng |