| # Makefile for libpng |
| # Borland C++ 4.5 (Note: All modules are compiled in C mode) |
| # Will work with C++ 4.02 also |
| # To build the library, do: |
| # "make -fmakefile.bor -DMODEL=m" |
| # or: "make -fmakefile.bor -DMODEL=l" |
| # |
| # ------------- Borland C++ 4.5 ------------- |
| |
| ### Absolutely necessary for this makefile to work |
| .AUTODEPEND |
| |
| ## Useful user options |
| |
| # Usually defined in builtins.mak or the environment |
| # Currently unused. |
| !ifndef BCROOT |
| BCROOT=N:\BC45 |
| !endif |
| |
| # Where zlib.h and zconf.h and zlib.lib are |
| ZLIB_PATH=..\zlib |
| |
| !ifndef MODEL |
| MODEL=l |
| !endif |
| |
| #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. |
| 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 |
| |
| |
| ## Compiler, linker, and lib stuff |
| CC=bcc |
| LD=bcc |
| LIB=tlib |
| |
| MODELARG=-m$(MODEL) |
| |
| # -X- turns on dependency generation in the object file |
| # -w sets all warnings on |
| # -O2 optimize for speed |
| # -Z global optimization |
| CFLAGS=-O2 -Z -X- -w -I$(ZLIB_PATH) -$(TARGET_CPU) $(MODELARG) $(CDEBUG) |
| |
| # -M generate map file |
| LDFLAGS=-M $(LDEBUG) |
| |
| O=obj |
| |
| ## variables |
| OBJS = \ |
| png.$(O) \ |
| pngerror.$(O) \ |
| pngmem.$(O) \ |
| pngpread.$(O) \ |
| pngrcb.$(O) \ |
| pngread.$(O) \ |
| pngrio.$(O) \ |
| pngrtran.$(O) \ |
| pngrutil.$(O) \ |
| pngtrans.$(O) \ |
| pngwrite.$(O) \ |
| pngwtran.$(O) \ |
| pngwio.$(O) \ |
| pngwutil.$(O) |
| |
| LIBOBJS = \ |
| +png.$(O) \ |
| +pngerror.$(O) \ |
| +pngmem.$(O) \ |
| +pngpread.$(O) \ |
| +pngread.$(O) \ |
| +pngrcb.$(O) \ |
| +pngrio.$(O) \ |
| +pngrtran.$(O) \ |
| +pngrutil.$(O) \ |
| +pngtrans.$(O) \ |
| +pngwrite.$(O) \ |
| +pngwtran.$(O) \ |
| +pngwio.$(O) |
| +pngwutil.$(O) |
| |
| 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 |
| |
| |
| ## Major targets |
| libpng: $(LIBNAME) |
| |
| pngtest: pngtest$(MODEL).exe |
| |
| test: |
| pngtest$(MODEL) |
| |
| |
| ## Minor Targets |
| |
| png.obj: png.c |
| pngrcb.obj: pngrcb.c |
| pngread.obj: pngread.c |
| pngpread.obj: pngpread.c |
| pngrtran.obj: pngrtran.c |
| pngrutil.obj: pngrutil.c |
| pngerror.obj: pngerror.c |
| pngmem.obj: pngmem.c |
| pngrio.obj: pngrio.c |
| pngwio.obj: pngwio.c |
| pngtrans.obj: pngtrans.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 |
| $(CC) $(MODELARG) $(LDFLAGS) -L$(ZLIB_PATH) pngtest$(MODEL).obj $(LIBNAME) zlib$(MODEL).lib $(NOEHLIB) |
| |
| |
| # Clean up anything else you want |
| clean: |
| -del *.obj |
| -del *.lib |
| -del *.lst |
| |
| |
| # End of makefile for libpng |