blob: a032510d41c680a2cd9a23e8ba73be50fd217b0a [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
The Android Open Source Project893912b2009-03-03 19:30:05 -080015## Compiler, linker and lib stuff
16CC=bcc
17LD=bcc
18LIB=tlib
19
20!ifndef MODEL
21MODEL=l
22!endif
23
24MODEL_ARG=-m$(MODEL)
25
26#TARGET_CPU=3
27# 2 = 286, 3 = 386, etc.
28!ifndef TARGET_CPU
29TARGET_CPU=2
30!endif
31
32# Use this if you don't want Borland's fancy exception handling
33# (for Borland C++ 4.0 or later)
34#NOEHLIB=noeh$(MODEL).lib
35
36!ifdef DEBUG
37CDEBUG=-v
38LDEBUG=-v
39!else
40CDEBUG=
41LDEBUG=
42!endif
43
44# STACKOFLOW=1
45!ifdef STACKOFLOW
46CDEBUG=$(CDEBUG) -N
47LDEBUG=$(LDEBUG) -N
48!endif
49
50# -X- turn on dependency generation in the object file
51# -w set all warnings on
52# -O2 optimize for speed
53# -Z global optimization
Sireesh Tripurarib478e662014-05-09 15:15:10 +053054CPPFLAGS=-I$(ZLIB_DIR)
55CFLAGS=-O2 -Z -X- -w -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
The Android Open Source Project893912b2009-03-03 19:30:05 -080056
57# -M generate map file
58LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
59
The Android Open Source Project893912b2009-03-03 19:30:05 -080060## Variables
Patrick Scotta0bb96c2009-07-22 11:50:02 -040061
The Android Open Source Project893912b2009-03-03 19:30:05 -080062OBJS = \
63 png.obj \
64 pngerror.obj \
65 pngget.obj \
66 pngmem.obj \
67 pngpread.obj \
68 pngread.obj \
69 pngrio.obj \
70 pngrtran.obj \
71 pngrutil.obj \
72 pngset.obj \
73 pngtrans.obj \
74 pngwio.obj \
75 pngwrite.obj \
76 pngwtran.obj \
77 pngwutil.obj
78
79LIBOBJS = \
80 +png.obj \
81 +pngerror.obj \
82 +pngget.obj \
83 +pngmem.obj \
84 +pngpread.obj \
85 +pngread.obj \
86 +pngrio.obj \
87 +pngrtran.obj \
88 +pngrutil.obj \
89 +pngset.obj \
90 +pngtrans.obj \
91 +pngwio.obj \
92 +pngwrite.obj \
93 +pngwtran.obj \
94 +pngwutil.obj
95
96LIBNAME=libpng$(MODEL).lib
97
The Android Open Source Project893912b2009-03-03 19:30:05 -080098## Implicit rules
Patrick Scotta0bb96c2009-07-22 11:50:02 -040099
The Android Open Source Project893912b2009-03-03 19:30:05 -0800100# Braces let make "batch" calls to the compiler,
101# 2 calls instead of 12; space is important.
102.c.obj:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530103 $(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
The Android Open Source Project893912b2009-03-03 19:30:05 -0800104
105.c.exe:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530106 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
107 $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
The Android Open Source Project893912b2009-03-03 19:30:05 -0800108
The Android Open Source Project893912b2009-03-03 19:30:05 -0800109## Major targets
Patrick Scotta0bb96c2009-07-22 11:50:02 -0400110
The Android Open Source Project893912b2009-03-03 19:30:05 -0800111all: libpng pngtest
112
Chris Craikb50c2172013-07-29 15:28:30 -0700113# try !inlude scripts\pnglibconf.mak for more options
114pnglibconf.h: scripts\pnglibconf.h.prebuilt
115 copy scripts\pnglibconf.h.prebuilt $@
116
The Android Open Source Project893912b2009-03-03 19:30:05 -0800117libpng: $(LIBNAME)
118
119pngtest: pngtest$(MODEL).exe
120
121test: pngtest$(MODEL).exe
122 pngtest$(MODEL)
123
The Android Open Source Project893912b2009-03-03 19:30:05 -0800124## Minor Targets
125
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530126png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
127pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
128pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
129pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
130pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
131pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
132pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
133pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
134pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
135pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
136pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
137pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
138pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
139pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
140pngwutil.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 -0800141
142$(LIBNAME): $(OBJS)
143 -del $(LIBNAME)
144 $(LIB) $(LIBNAME) @&&|
145$(LIBOBJS), libpng$(MODEL)
146|
147
Chris Craikb50c2172013-07-29 15:28:30 -0700148pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800149 $(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
150
151pngtest$(MODEL).exe: pngtest$(MODEL).obj
152 $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
153
The Android Open Source Project893912b2009-03-03 19:30:05 -0800154# Clean up anything else you want
155clean:
Chris Craikb50c2172013-07-29 15:28:30 -0700156 -del pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800157 -del *.obj
158 -del *.exe
159 -del *.lib
160 -del *.lst
161 -del *.map
162
The Android Open Source Project893912b2009-03-03 19:30:05 -0800163# End of makefile for libpng