58c4f6b355
to prevent warnings about direct access to png structs by libpng functions while building libpng. They need to be tested, especially those using compilers other than gcc.
146 lines
2.9 KiB
Plaintext
146 lines
2.9 KiB
Plaintext
# 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=-DPNG_CONFIGURE_LIBPNG -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 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
|
|
pngtest.obj: pngtest.c png.h pngconf.h pngpriv.h
|
|
|
|
$(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
|