libpng/scripts/makefile.bor
Glenn Randers-Pehrson 58c4f6b355 Added -DPNG_CONFIGURE_LIBPNG to the makefile CFLAGS
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.
2009-11-07 10:50:29 -06:00

157 lines
3.1 KiB
Plaintext

# 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=-DPNG_CONFIGURE_LIBPNG -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
$(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