|
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 and lib stuff |
|
15 CC=bcc32 |
|
16 LD=bcc32 |
|
17 LIB=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 |
|
29 CDEBUG=-v |
|
30 LDEBUG=-v |
|
31 !else |
|
32 CDEBUG= |
|
33 LDEBUG= |
|
34 !endif |
|
35 |
|
36 # STACKOFLOW=1 |
|
37 !ifdef STACKOFLOW |
|
38 CDEBUG=$(CDEBUG) -N |
|
39 LDEBUG=$(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 |
|
46 CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG) |
|
47 |
|
48 # -M generate map file |
|
49 LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG) |
|
50 |
|
51 ## Variables |
|
52 OBJS = \ |
|
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 |
|
69 LIBOBJS = \ |
|
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 |
|
86 LIBNAME=libpng.lib |
|
87 |
|
88 ## 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 |
|
100 ## Major targets |
|
101 all: libpng pngtest |
|
102 |
|
103 libpng: $(LIBNAME) |
|
104 |
|
105 pngtest: pngtest.exe |
|
106 |
|
107 test: pngtest.exe |
|
108 pngtest |
|
109 |
|
110 ## Minor Targets |
|
111 |
|
112 png.obj: png.c png.h pngconf.h |
|
113 pngerror.obj: pngerror.c png.h pngconf.h |
|
114 pngget.obj: pngget.c png.h pngconf.h |
|
115 pngmem.obj: pngmem.c png.h pngconf.h |
|
116 pngpread.obj: pngpread.c png.h pngconf.h |
|
117 pngread.obj: pngread.c png.h pngconf.h |
|
118 pngrio.obj: pngrio.c png.h pngconf.h |
|
119 pngrtran.obj: pngrtran.c png.h pngconf.h |
|
120 pngrutil.obj: pngrutil.c png.h pngconf.h |
|
121 pngset.obj: pngset.c png.h pngconf.h |
|
122 pngtrans.obj: pngtrans.c png.h pngconf.h |
|
123 pngwio.obj: pngwio.c png.h pngconf.h |
|
124 pngwrite.obj: pngwrite.c png.h pngconf.h |
|
125 pngwtran.obj: pngwtran.c png.h pngconf.h |
|
126 pngwutil.obj: pngwutil.c png.h pngconf.h |
|
127 pngtest.obj: pngtest.c png.h pngconf.h |
|
128 |
|
129 $(LIBNAME): $(OBJS) |
|
130 -del $(LIBNAME) |
|
131 $(LIB) $(LIBNAME) @&&| |
|
132 $(LIBOBJS), libpng |
|
133 | |
|
134 |
|
135 # Cleanup |
|
136 clean: |
|
137 -del *.obj |
|
138 -del $(LIBNAME) |
|
139 -del pngtest.exe |
|
140 -del *.lst |
|
141 -del *.map |
|
142 -del *.tds |
|
143 -del pngout.png |
|
144 |
|
145 # End of makefile for libpng |