1 | # 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
|
---|
12 | ZLIB_DIR=..\zlib
|
---|
13 |
|
---|
14 | ## Compiler, linker, librarian and other tools
|
---|
15 | CC=bcc32
|
---|
16 | LD=bcc32
|
---|
17 | LIB=tlib
|
---|
18 | CP=copy
|
---|
19 |
|
---|
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
|
---|
30 | CDEBUG=-v
|
---|
31 | LDEBUG=-v
|
---|
32 | !else
|
---|
33 | CDEBUG=
|
---|
34 | LDEBUG=
|
---|
35 | !endif
|
---|
36 |
|
---|
37 | # STACKOFLOW=1
|
---|
38 | !ifdef STACKOFLOW
|
---|
39 | CDEBUG=$(CDEBUG) -N
|
---|
40 | LDEBUG=$(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
|
---|
47 | CPPFLAGS=-I$(ZLIB_DIR)
|
---|
48 | CFLAGS=-O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
|
---|
49 |
|
---|
50 | # -M generate map file
|
---|
51 | LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
|
---|
52 |
|
---|
53 | # Pre-built configuration
|
---|
54 | # See scripts\pnglibconf.mak for more options
|
---|
55 | !ifndef PNGLIBCONF_H_PREBUILT
|
---|
56 | PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
|
---|
57 | !endif
|
---|
58 |
|
---|
59 | ## Variables
|
---|
60 | OBJS = \
|
---|
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 |
|
---|
77 | LIBOBJS = \
|
---|
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 |
|
---|
94 | LIBNAME=libpng.lib
|
---|
95 |
|
---|
96 | ## Implicit rules
|
---|
97 | # Braces let make "batch" calls to the compiler,
|
---|
98 | # 2 calls instead of 12; space is important.
|
---|
99 | .c.obj:
|
---|
100 | $(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
|
---|
101 |
|
---|
102 | .c.exe:
|
---|
103 | $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
|
---|
104 | $(LIBNAME) zlib.lib $(NOEHLIB)
|
---|
105 |
|
---|
106 | .obj.exe:
|
---|
107 | $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
|
---|
108 |
|
---|
109 | ## Major targets
|
---|
110 | all: libpng pngtest
|
---|
111 |
|
---|
112 | libpng: $(LIBNAME)
|
---|
113 |
|
---|
114 | pngtest: pngtest.exe
|
---|
115 |
|
---|
116 | test: pngtest.exe
|
---|
117 | pngtest
|
---|
118 |
|
---|
119 | ## Minor Targets
|
---|
120 |
|
---|
121 | pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
|
---|
122 | $(CP) $(PNGLIBCONF_H_PREBUILT) $@
|
---|
123 |
|
---|
124 | png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
125 | pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
126 | pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
127 | pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
128 | pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
129 | pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
130 | pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
131 | pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
132 | pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
133 | pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
134 | pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
135 | pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
136 | pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
137 | pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
138 | pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
|
---|
139 | pngtest.obj: pngtest.c png.h pngconf.h pnglibconf.h
|
---|
140 |
|
---|
141 | $(LIBNAME): $(OBJS)
|
---|
142 | -del $(LIBNAME)
|
---|
143 | $(LIB) $(LIBNAME) @&&|
|
---|
144 | $(LIBOBJS), libpng
|
---|
145 | |
|
---|
146 |
|
---|
147 | # Cleanup
|
---|
148 | clean:
|
---|
149 | -del pnglibconf.h
|
---|
150 | -del *.obj
|
---|
151 | -del $(LIBNAME)
|
---|
152 | -del pngtest.exe
|
---|
153 | -del *.lst
|
---|
154 | -del *.map
|
---|
155 | -del *.tds
|
---|
156 | -del pngout.png
|
---|
157 |
|
---|
158 | # End of makefile for libpng
|
---|