|
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 |
|
15 ## Compiler, linker and lib stuff |
|
16 CC=bcc32 |
|
17 LD=bcc32 |
|
18 LIB=tlib |
|
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 CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG) |
|
48 |
|
49 # -M generate map file |
|
50 LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG) |
|
51 |
|
52 |
|
53 ## Variables |
|
54 OBJS = \ |
|
55 png.obj \ |
|
56 pngerror.obj \ |
|
57 pngget.obj \ |
|
58 pngmem.obj \ |
|
59 pngpread.obj \ |
|
60 pngread.obj \ |
|
61 pngrio.obj \ |
|
62 pngrtran.obj \ |
|
63 pngrutil.obj \ |
|
64 pngset.obj \ |
|
65 pngtrans.obj \ |
|
66 pngwio.obj \ |
|
67 pngwrite.obj \ |
|
68 pngwtran.obj \ |
|
69 pngwutil.obj |
|
70 |
|
71 LIBOBJS = \ |
|
72 +png.obj \ |
|
73 +pngerror.obj \ |
|
74 +pngget.obj \ |
|
75 +pngmem.obj \ |
|
76 +pngpread.obj \ |
|
77 +pngread.obj \ |
|
78 +pngrio.obj \ |
|
79 +pngrtran.obj \ |
|
80 +pngrutil.obj \ |
|
81 +pngset.obj \ |
|
82 +pngtrans.obj \ |
|
83 +pngwio.obj \ |
|
84 +pngwrite.obj \ |
|
85 +pngwtran.obj \ |
|
86 +pngwutil.obj |
|
87 |
|
88 LIBNAME=libpng.lib |
|
89 |
|
90 |
|
91 ## Implicit rules |
|
92 # Braces let make "batch" calls to the compiler, |
|
93 # 2 calls instead of 12; space is important. |
|
94 .c.obj: |
|
95 $(CC) $(CFLAGS) -c {$*.c } |
|
96 |
|
97 .c.exe: |
|
98 $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB) |
|
99 |
|
100 .obj.exe: |
|
101 $(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB) |
|
102 |
|
103 |
|
104 ## Major targets |
|
105 all: libpng pngtest |
|
106 |
|
107 libpng: $(LIBNAME) |
|
108 |
|
109 pngtest: pngtest.exe |
|
110 |
|
111 test: pngtest.exe |
|
112 pngtest |
|
113 |
|
114 |
|
115 ## Minor Targets |
|
116 |
|
117 png.obj: png.c |
|
118 pngerror.obj: pngerror.c |
|
119 pngget.obj: pngget.c |
|
120 pngmem.obj: pngmem.c |
|
121 pngpread.obj: pngpread.c |
|
122 pngread.obj: pngread.c |
|
123 pngrio.obj: pngrio.c |
|
124 pngrtran.obj: pngrtran.c |
|
125 pngrutil.obj: pngrutil.c |
|
126 pngset.obj: pngset.c |
|
127 pngtrans.obj: pngtrans.c |
|
128 pngwio.obj: pngwio.c |
|
129 pngwrite.obj: pngwrite.c |
|
130 pngwtran.obj: pngwtran.c |
|
131 pngwutil.obj: pngwutil.c |
|
132 |
|
133 |
|
134 $(LIBNAME): $(OBJS) |
|
135 -del $(LIBNAME) |
|
136 $(LIB) $(LIBNAME) @&&| |
|
137 $(LIBOBJS), libpng |
|
138 | |
|
139 |
|
140 |
|
141 # Cleanup |
|
142 clean: |
|
143 -del *.obj |
|
144 -del $(LIBNAME) |
|
145 -del pngtest.exe |
|
146 -del *.lst |
|
147 -del *.map |
|
148 -del *.tds |
|
149 -del pngout.png |
|
150 |
|
151 |
|
152 # End of makefile for libpng |