blob: b58c571aeeb3e40250cba4c5ba8d7e358b668ca4 [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# Makefile for libpng
2# 32-bit Borland C++ (Note: All modules are compiled in C mode)
3# To build the library, do:
4# "make -fmakefile.bc32"
5#
6# -------------------- 32-bit Borland C++ --------------------
7
8### Absolutely necessary for this makefile to work
9.AUTODEPEND
10
11## Where zlib.h, zconf.h and zlib.lib are
12ZLIB_DIR=..\zlib
13
The Android Open Source Project893912b2009-03-03 19:30:05 -080014## Compiler, linker and lib stuff
15CC=bcc32
16LD=bcc32
17LIB=tlib
18
19# -3 = 386, -4 = 486, -5 = Pentium etc.
20!ifndef TARGET_CPU
21#TARGET_CPU=-6
22!endif
23
24# Use this if you don't want Borland's fancy exception handling
25# (Caution: doesn't work with CBuilderX)
26#NOEHLIB=noeh32.lib
27
28!ifdef DEBUG
29CDEBUG=-v
30LDEBUG=-v
31!else
32CDEBUG=
33LDEBUG=
34!endif
35
36# STACKOFLOW=1
37!ifdef STACKOFLOW
38CDEBUG=$(CDEBUG) -N
39LDEBUG=$(LDEBUG) -N
40!endif
41
42# -O2 optimize for speed
43# -d merge duplicate strings
44# -k- turn off standard stack frame
45# -w display all warnings
46CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
47
48# -M generate map file
49LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
50
The Android Open Source Project893912b2009-03-03 19:30:05 -080051## Variables
52OBJS = \
53 png.obj \
54 pngerror.obj \
55 pngget.obj \
56 pngmem.obj \
57 pngpread.obj \
58 pngread.obj \
59 pngrio.obj \
60 pngrtran.obj \
61 pngrutil.obj \
62 pngset.obj \
63 pngtrans.obj \
64 pngwio.obj \
65 pngwrite.obj \
66 pngwtran.obj \
67 pngwutil.obj
68
69LIBOBJS = \
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
86LIBNAME=libpng.lib
87
The Android Open Source Project893912b2009-03-03 19:30:05 -080088## Implicit rules
89# Braces let make "batch" calls to the compiler,
90# 2 calls instead of 12; space is important.
91.c.obj:
92 $(CC) $(CFLAGS) -c {$*.c }
93
94.c.exe:
95 $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB)
96
97.obj.exe:
98 $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
99
The Android Open Source Project893912b2009-03-03 19:30:05 -0800100## Major targets
101all: libpng pngtest
102
103libpng: $(LIBNAME)
104
105pngtest: pngtest.exe
106
107test: pngtest.exe
108 pngtest
109
The Android Open Source Project893912b2009-03-03 19:30:05 -0800110## Minor Targets
111
Chris Craikb50c2172013-07-29 15:28:30 -0700112# see scripts\pnglibconf.mak for how to make this file
113# with different options
114pnglibconf.h: scripts\pnglibconf.h.prebuilt
115 copy scripts\pnglibconf.h.prebuilt $@
116
117png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
118pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
119pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
120pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
121pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
122pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
123pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
124pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
125pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
126pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
127pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
128pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
129pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
130pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
131pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
132pngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800133
134$(LIBNAME): $(OBJS)
135 -del $(LIBNAME)
136 $(LIB) $(LIBNAME) @&&|
137$(LIBOBJS), libpng
138|
139
The Android Open Source Project893912b2009-03-03 19:30:05 -0800140# Cleanup
141clean:
Chris Craikb50c2172013-07-29 15:28:30 -0700142 -del pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800143 -del *.obj
144 -del $(LIBNAME)
145 -del pngtest.exe
146 -del *.lst
147 -del *.map
148 -del *.tds
149 -del pngout.png
150
The Android Open Source Project893912b2009-03-03 19:30:05 -0800151# End of makefile for libpng