b8eb945946
similarly-named macros were already defined in makefiles. This behavior is different from POSIX make and other make programs. Surround the macro definitions with ifndef guards (Cosmin).
171 lines
4.2 KiB
Plaintext
171 lines
4.2 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, librarian and other tools
|
|
CC=bcc
|
|
LD=bcc
|
|
LIB=tlib
|
|
CP=copy
|
|
|
|
!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
|
|
CPPFLAGS=-I$(ZLIB_DIR)
|
|
CFLAGS=-O2 -Z -X- -w -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
|
|
|
|
# -M generate map file
|
|
LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
|
|
|
|
# Pre-built configuration
|
|
# See scripts\pnglibconf.mak for more options
|
|
!ifndef PNGLIBCONF_H_PREBUILT
|
|
PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
|
|
!endif
|
|
|
|
## 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) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
|
|
|
|
.c.exe:
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
|
|
$(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
|
|
|
|
## Major targets
|
|
|
|
all: libpng pngtest
|
|
|
|
# try !include scripts\pnglibconf.mak for more options
|
|
pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
|
|
$(CP) $(PNGLIBCONF_H_PREBUILT) $@
|
|
|
|
libpng: $(LIBNAME)
|
|
|
|
pngtest: pngtest$(MODEL).exe
|
|
|
|
test: pngtest$(MODEL).exe
|
|
pngtest$(MODEL)
|
|
|
|
## Minor Targets
|
|
|
|
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
|
|
|
|
$(LIBNAME): $(OBJS)
|
|
-del $(LIBNAME)
|
|
$(LIB) $(LIBNAME) @&&|
|
|
$(LIBOBJS), libpng$(MODEL)
|
|
|
|
|
|
|
pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.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 pnglibconf.h
|
|
-del *.obj
|
|
-del *.exe
|
|
-del *.lib
|
|
-del *.lst
|
|
-del *.map
|
|
|
|
# End of makefile for libpng
|