blob: 6693772dbe6738703ee75fafc0fdd830a5ae63e6 [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# Makefile for libpng
2# 16-bit Borland C++ (Note: All modules are compiled in C mode)
3# To build the library, do:
4# "make -fmakefile.bor -DMODEL=c"
5# or: "make -fmakefile.bor -DMODEL=l"
6#
7# ------------ Borland C++ ------------
8
9### Absolutely necessary for this makefile to work
10.AUTODEPEND
11
12## Where zlib.h, zconf.h and zlib_MODEL.lib are
13ZLIB_DIR=..\zlib
14
Matt Sarett9ea75692016-01-08 13:00:42 -050015## Compiler, linker, librarian and other tools
The Android Open Source Project893912b2009-03-03 19:30:05 -080016CC=bcc
17LD=bcc
18LIB=tlib
Matt Sarett9ea75692016-01-08 13:00:42 -050019CP=copy
The Android Open Source Project893912b2009-03-03 19:30:05 -080020
21!ifndef MODEL
22MODEL=l
23!endif
24
25MODEL_ARG=-m$(MODEL)
26
27#TARGET_CPU=3
28# 2 = 286, 3 = 386, etc.
29!ifndef TARGET_CPU
30TARGET_CPU=2
31!endif
32
33# Use this if you don't want Borland's fancy exception handling
34# (for Borland C++ 4.0 or later)
35#NOEHLIB=noeh$(MODEL).lib
36
37!ifdef DEBUG
38CDEBUG=-v
39LDEBUG=-v
40!else
41CDEBUG=
42LDEBUG=
43!endif
44
45# STACKOFLOW=1
46!ifdef STACKOFLOW
47CDEBUG=$(CDEBUG) -N
48LDEBUG=$(LDEBUG) -N
49!endif
50
51# -X- turn on dependency generation in the object file
52# -w set all warnings on
53# -O2 optimize for speed
54# -Z global optimization
Sireesh Tripurarib478e662014-05-09 15:15:10 +053055CPPFLAGS=-I$(ZLIB_DIR)
56CFLAGS=-O2 -Z -X- -w -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
The Android Open Source Project893912b2009-03-03 19:30:05 -080057
58# -M generate map file
59LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
60
Matt Sarett9ea75692016-01-08 13:00:42 -050061# Pre-built configuration
62# See scripts\pnglibconf.mak for more options
63!ifndef PNGLIBCONF_H_PREBUILT
64PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
65!endif
66
The Android Open Source Project893912b2009-03-03 19:30:05 -080067## Variables
Patrick Scotta0bb96c2009-07-22 11:50:02 -040068
The Android Open Source Project893912b2009-03-03 19:30:05 -080069OBJS = \
70 png.obj \
71 pngerror.obj \
72 pngget.obj \
73 pngmem.obj \
74 pngpread.obj \
75 pngread.obj \
76 pngrio.obj \
77 pngrtran.obj \
78 pngrutil.obj \
79 pngset.obj \
80 pngtrans.obj \
81 pngwio.obj \
82 pngwrite.obj \
83 pngwtran.obj \
84 pngwutil.obj
85
86LIBOBJS = \
87 +png.obj \
88 +pngerror.obj \
89 +pngget.obj \
90 +pngmem.obj \
91 +pngpread.obj \
92 +pngread.obj \
93 +pngrio.obj \
94 +pngrtran.obj \
95 +pngrutil.obj \
96 +pngset.obj \
97 +pngtrans.obj \
98 +pngwio.obj \
99 +pngwrite.obj \
100 +pngwtran.obj \
101 +pngwutil.obj
102
103LIBNAME=libpng$(MODEL).lib
104
The Android Open Source Project893912b2009-03-03 19:30:05 -0800105## Implicit rules
Patrick Scotta0bb96c2009-07-22 11:50:02 -0400106
The Android Open Source Project893912b2009-03-03 19:30:05 -0800107# Braces let make "batch" calls to the compiler,
108# 2 calls instead of 12; space is important.
109.c.obj:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530110 $(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
The Android Open Source Project893912b2009-03-03 19:30:05 -0800111
112.c.exe:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530113 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
114 $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
The Android Open Source Project893912b2009-03-03 19:30:05 -0800115
The Android Open Source Project893912b2009-03-03 19:30:05 -0800116## Major targets
Patrick Scotta0bb96c2009-07-22 11:50:02 -0400117
The Android Open Source Project893912b2009-03-03 19:30:05 -0800118all: libpng pngtest
119
Matt Sarett9ea75692016-01-08 13:00:42 -0500120# try !include scripts\pnglibconf.mak for more options
121pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
122 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
Chris Craikb50c2172013-07-29 15:28:30 -0700123
The Android Open Source Project893912b2009-03-03 19:30:05 -0800124libpng: $(LIBNAME)
125
126pngtest: pngtest$(MODEL).exe
127
128test: pngtest$(MODEL).exe
129 pngtest$(MODEL)
130
The Android Open Source Project893912b2009-03-03 19:30:05 -0800131## Minor Targets
132
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530133png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
134pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
135pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
136pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
137pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
138pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
139pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
140pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
141pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
142pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
143pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
144pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
145pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
146pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
147pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800148
149$(LIBNAME): $(OBJS)
150 -del $(LIBNAME)
151 $(LIB) $(LIBNAME) @&&|
152$(LIBOBJS), libpng$(MODEL)
153|
154
Chris Craikb50c2172013-07-29 15:28:30 -0700155pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800156 $(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
157
158pngtest$(MODEL).exe: pngtest$(MODEL).obj
159 $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
160
The Android Open Source Project893912b2009-03-03 19:30:05 -0800161# Clean up anything else you want
162clean:
Chris Craikb50c2172013-07-29 15:28:30 -0700163 -del pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800164 -del *.obj
165 -del *.exe
166 -del *.lib
167 -del *.lst
168 -del *.map
169
The Android Open Source Project893912b2009-03-03 19:30:05 -0800170# End of makefile for libpng