1893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Makefile for libpng
2893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# 32-bit Borland C++ (Note: All modules are compiled in C mode)
3893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# To build the library, do:
4893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#       "make -fmakefile.bc32"
5893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#
6893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -------------------- 32-bit Borland C++ --------------------
7893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
8893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project### Absolutely necessary for this makefile to work
9893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.AUTODEPEND
10893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
11893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Where zlib.h, zconf.h and zlib.lib are
12893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectZLIB_DIR=..\zlib
13893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
14893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Compiler, linker and lib stuff
15893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCC=bcc32
16893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLD=bcc32
17893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIB=tlib
18893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
19893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -3 = 386, -4 = 486, -5 = Pentium etc.
20893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!ifndef TARGET_CPU
21893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#TARGET_CPU=-6
22893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!endif
23893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
24893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Use this if you don't want Borland's fancy exception handling
25893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# (Caution: doesn't work with CBuilderX)
26893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project#NOEHLIB=noeh32.lib
27893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
28893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!ifdef DEBUG
29893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCDEBUG=-v
30893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDEBUG=-v
31893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!else
32893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCDEBUG=
33893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDEBUG=
34893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!endif
35893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
36893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# STACKOFLOW=1
37893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!ifdef STACKOFLOW
38893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectCDEBUG=$(CDEBUG) -N
39893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDEBUG=$(LDEBUG) -N
40893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project!endif
41893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
42893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -O2 optimize for speed
43893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -d  merge duplicate strings
44893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -k- turn off standard stack frame
45893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -w  display all warnings
46b478e66e7c2621eef5f465e4629ce642db00716bSireesh TripurariCPPFLAGS=-I$(ZLIB_DIR)
47b478e66e7c2621eef5f465e4629ce642db00716bSireesh TripurariCFLAGS=-O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
48893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
49893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# -M  generate map file
50893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
51893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
52893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Variables
53893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectOBJS = \
54893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	png.obj \
55893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngerror.obj \
56893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngget.obj \
57893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngmem.obj \
58893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngpread.obj \
59893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngread.obj \
60893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrio.obj \
61893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrtran.obj \
62893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrutil.obj \
63893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngset.obj \
64893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngtrans.obj \
65893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwio.obj \
66893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwrite.obj \
67893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwtran.obj \
68893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwutil.obj
69893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
70893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIBOBJS = \
71893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+png.obj \
72893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngerror.obj \
73893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngget.obj \
74893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngmem.obj \
75893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngpread.obj \
76893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngread.obj \
77893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngrio.obj \
78893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngrtran.obj \
79893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngrutil.obj \
80893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngset.obj \
81893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngtrans.obj \
82893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngwio.obj \
83893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngwrite.obj \
84893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngwtran.obj \
85893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	+pngwutil.obj
86893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
87893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLIBNAME=libpng.lib
88893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
89893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Implicit rules
90893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Braces let make "batch" calls to the compiler,
91893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# 2 calls instead of 12; space is important.
92893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.c.obj:
93b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	$(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
94893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
95893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.c.exe:
96b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
97b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	  $(LIBNAME) zlib.lib $(NOEHLIB)
98893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
99893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project.obj.exe:
100893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
101893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
102893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Major targets
103893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectall: libpng pngtest
104893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
105893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectlibpng: $(LIBNAME)
106893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
107893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectpngtest: pngtest.exe
108893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
109893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projecttest: pngtest.exe
110893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngtest
111893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
112893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project## Minor Targets
113893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
114b50c217251b086440efcdb273c22f86a06c80cbaChris Craik# see scripts\pnglibconf.mak for how to make this file
115b50c217251b086440efcdb273c22f86a06c80cbaChris Craik# with different options
116b50c217251b086440efcdb273c22f86a06c80cbaChris Craikpnglibconf.h: scripts\pnglibconf.h.prebuilt
117b50c217251b086440efcdb273c22f86a06c80cbaChris Craik	copy scripts\pnglibconf.h.prebuilt $@
118b50c217251b086440efcdb273c22f86a06c80cbaChris Craik
119b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripng.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
120b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
121b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
122b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
123b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
124b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
125b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
126b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
127b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
128b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
129b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
130b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
131b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
132b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
133b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripuraripngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
134b50c217251b086440efcdb273c22f86a06c80cbaChris Craikpngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h
135893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
136893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(LIBNAME): $(OBJS)
137893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del $(LIBNAME)
138893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	$(LIB) $(LIBNAME) @&&|
139893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$(LIBOBJS), libpng
140893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project|
141893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
142893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# Cleanup
143893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectclean:
144b50c217251b086440efcdb273c22f86a06c80cbaChris Craik	-del pnglibconf.h
145893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del *.obj
146893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del $(LIBNAME)
147893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del pngtest.exe
148893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del *.lst
149893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del *.map
150893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del *.tds
151893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	-del pngout.png
152893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
153893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# End of makefile for libpng
154