| # 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 png.h pngconf.h pngpriv.h | |
| pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h | |
| pngget.obj: pngget.c png.h pngconf.h pngpriv.h | |
| pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h | |
| pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h | |
| pngread.obj: pngread.c png.h pngconf.h pngpriv.h | |
| pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h | |
| pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h | |
| pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h | |
| pngset.obj: pngset.c png.h pngconf.h pngpriv.h | |
| pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h | |
| pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h | |
| pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h | |
| pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h | |
| pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h | |
| $(LIBNAME): $(OBJS) | |
| -del $(LIBNAME) | |
| $(LIB) $(LIBNAME) @&&| | |
| $(LIBOBJS), libpng$(MODEL) | |
| | | |
| pngtest$(MODEL).obj: pngtest.c png.h pngconf.h | |
| $(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 |