| # 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, librarian and other tools |
| CC=bcc32 |
| LD=bcc32 |
| LIB=tlib |
| CP=copy |
| |
| # -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 |
| CPPFLAGS=-I$(ZLIB_DIR) |
| CFLAGS=-O2 -d -k- -w $(TARGET_CPU) $(CDEBUG) |
| |
| # -M generate map file |
| LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG) |
| |
| ## Pre-built configuration |
| # See scripts\pnglibconf.mak for more options |
| !ifndef PNGLIBCONF_H_PREBUILT |
| PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt |
| !endif |
| |
| ## File lists |
| 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) $(CPPFLAGS) $(CFLAGS) -c {$*.c } |
| |
| .c.exe: |
| $(CC) $(CPPFLAGS) $(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 |
| |
| pnglibconf.h: $(PNGLIBCONF_H_PREBUILT) |
| $(CP) $(PNGLIBCONF_H_PREBUILT) $@ |
| |
| png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h |
| pngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h |
| |
| $(LIBNAME): $(OBJS) |
| -del $(LIBNAME) |
| $(LIB) $(LIBNAME) @&&| |
| $(LIBOBJS), libpng |
| | |
| |
| # Cleanup |
| clean: |
| -del pnglibconf.h |
| -del *.obj |
| -del $(LIBNAME) |
| -del pngtest.exe |
| -del *.lst |
| -del *.map |
| -del *.tds |
| -del pngout.png |
| |
| # End of makefile for libpng |