blob: bdbc4cb2f91ffd2f656510812f0d92096b87356c [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
Matt Sarett9ea75692016-01-08 13:00:42 -050014## Compiler, linker, librarian and other tools
The Android Open Source Project893912b2009-03-03 19:30:05 -080015CC=bcc32
16LD=bcc32
17LIB=tlib
Matt Sarett9ea75692016-01-08 13:00:42 -050018CP=copy
The Android Open Source Project893912b2009-03-03 19:30:05 -080019
20# -3 = 386, -4 = 486, -5 = Pentium etc.
21!ifndef TARGET_CPU
22#TARGET_CPU=-6
23!endif
24
25# Use this if you don't want Borland's fancy exception handling
26# (Caution: doesn't work with CBuilderX)
27#NOEHLIB=noeh32.lib
28
29!ifdef DEBUG
30CDEBUG=-v
31LDEBUG=-v
32!else
33CDEBUG=
34LDEBUG=
35!endif
36
37# STACKOFLOW=1
38!ifdef STACKOFLOW
39CDEBUG=$(CDEBUG) -N
40LDEBUG=$(LDEBUG) -N
41!endif
42
43# -O2 optimize for speed
44# -d merge duplicate strings
45# -k- turn off standard stack frame
46# -w display all warnings
Sireesh Tripurarib478e662014-05-09 15:15:10 +053047CPPFLAGS=-I$(ZLIB_DIR)
48CFLAGS=-O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
The Android Open Source Project893912b2009-03-03 19:30:05 -080049
50# -M generate map file
51LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
52
Matt Sarett9ea75692016-01-08 13:00:42 -050053# Pre-built configuration
54# See scripts\pnglibconf.mak for more options
55!ifndef PNGLIBCONF_H_PREBUILT
56PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
57!endif
58
The Android Open Source Project893912b2009-03-03 19:30:05 -080059## Variables
60OBJS = \
61 png.obj \
62 pngerror.obj \
63 pngget.obj \
64 pngmem.obj \
65 pngpread.obj \
66 pngread.obj \
67 pngrio.obj \
68 pngrtran.obj \
69 pngrutil.obj \
70 pngset.obj \
71 pngtrans.obj \
72 pngwio.obj \
73 pngwrite.obj \
74 pngwtran.obj \
75 pngwutil.obj
76
77LIBOBJS = \
78 +png.obj \
79 +pngerror.obj \
80 +pngget.obj \
81 +pngmem.obj \
82 +pngpread.obj \
83 +pngread.obj \
84 +pngrio.obj \
85 +pngrtran.obj \
86 +pngrutil.obj \
87 +pngset.obj \
88 +pngtrans.obj \
89 +pngwio.obj \
90 +pngwrite.obj \
91 +pngwtran.obj \
92 +pngwutil.obj
93
94LIBNAME=libpng.lib
95
The Android Open Source Project893912b2009-03-03 19:30:05 -080096## Implicit rules
97# Braces let make "batch" calls to the compiler,
98# 2 calls instead of 12; space is important.
99.c.obj:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530100 $(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
The Android Open Source Project893912b2009-03-03 19:30:05 -0800101
102.c.exe:
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530103 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
104 $(LIBNAME) zlib.lib $(NOEHLIB)
The Android Open Source Project893912b2009-03-03 19:30:05 -0800105
106.obj.exe:
107 $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
108
The Android Open Source Project893912b2009-03-03 19:30:05 -0800109## Major targets
110all: libpng pngtest
111
112libpng: $(LIBNAME)
113
114pngtest: pngtest.exe
115
116test: pngtest.exe
117 pngtest
118
The Android Open Source Project893912b2009-03-03 19:30:05 -0800119## Minor Targets
120
Matt Sarett9ea75692016-01-08 13:00:42 -0500121pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
122 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
Chris Craikb50c2172013-07-29 15:28:30 -0700123
Sireesh Tripurarib478e662014-05-09 15:15:10 +0530124png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
125pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
126pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
127pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
128pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
129pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
130pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
131pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
132pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
133pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
134pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
135pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
136pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
137pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
138pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
Chris Craikb50c2172013-07-29 15:28:30 -0700139pngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800140
141$(LIBNAME): $(OBJS)
142 -del $(LIBNAME)
143 $(LIB) $(LIBNAME) @&&|
144$(LIBOBJS), libpng
145|
146
The Android Open Source Project893912b2009-03-03 19:30:05 -0800147# Cleanup
148clean:
Chris Craikb50c2172013-07-29 15:28:30 -0700149 -del pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800150 -del *.obj
151 -del $(LIBNAME)
152 -del pngtest.exe
153 -del *.lst
154 -del *.map
155 -del *.tds
156 -del pngout.png
157
The Android Open Source Project893912b2009-03-03 19:30:05 -0800158# End of makefile for libpng