]> git.saurik.com Git - wxWidgets.git/blob - src/png/scripts/makefile.bor
guard against nullptr
[wxWidgets.git] / src / png / scripts / makefile.bor
1 # Makefile for libpng
2 # 16-bit Borland C++ (Note: All modules are compiled in C mode)
3 # To build the library, do:
4 # "make -fmakefile.bor -DMODEL=c"
5 # or: "make -fmakefile.bor -DMODEL=l"
6 #
7 # ------------ Borland C++ ------------
8
9 ### Absolutely necessary for this makefile to work
10 .AUTODEPEND
11
12 ## Where zlib.h, zconf.h and zlib_MODEL.lib are
13 ZLIB_DIR=..\zlib
14
15 ## Compiler, linker and lib stuff
16 CC=bcc
17 LD=bcc
18 LIB=tlib
19
20 !ifndef MODEL
21 MODEL=l
22 !endif
23
24 MODEL_ARG=-m$(MODEL)
25
26 #TARGET_CPU=3
27 # 2 = 286, 3 = 386, etc.
28 !ifndef TARGET_CPU
29 TARGET_CPU=2
30 !endif
31
32 # Use this if you don't want Borland's fancy exception handling
33 # (for Borland C++ 4.0 or later)
34 #NOEHLIB=noeh$(MODEL).lib
35
36 !ifdef DEBUG
37 CDEBUG=-v
38 LDEBUG=-v
39 !else
40 CDEBUG=
41 LDEBUG=
42 !endif
43
44 # STACKOFLOW=1
45 !ifdef STACKOFLOW
46 CDEBUG=$(CDEBUG) -N
47 LDEBUG=$(LDEBUG) -N
48 !endif
49
50 # -X- turn on dependency generation in the object file
51 # -w set all warnings on
52 # -O2 optimize for speed
53 # -Z global optimization
54 CFLAGS=-O2 -Z -X- -w -I$(ZLIB_DIR) -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
55
56 # -M generate map file
57 LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
58
59 ## Variables
60
61 OBJS = \
62 png.obj \
63 pngerror.obj \
64 pngget.obj \
65 pngmem.obj \
66 pngpread.obj \
67 pngread.obj \
68 pngrio.obj \
69 pngrtran.obj \
70 pngrutil.obj \
71 pngset.obj \
72 pngtrans.obj \
73 pngwio.obj \
74 pngwrite.obj \
75 pngwtran.obj \
76 pngwutil.obj
77
78 LIBOBJS = \
79 +png.obj \
80 +pngerror.obj \
81 +pngget.obj \
82 +pngmem.obj \
83 +pngpread.obj \
84 +pngread.obj \
85 +pngrio.obj \
86 +pngrtran.obj \
87 +pngrutil.obj \
88 +pngset.obj \
89 +pngtrans.obj \
90 +pngwio.obj \
91 +pngwrite.obj \
92 +pngwtran.obj \
93 +pngwutil.obj
94
95 LIBNAME=libpng$(MODEL).lib
96
97 ## Implicit rules
98
99 # Braces let make "batch" calls to the compiler,
100 # 2 calls instead of 12; space is important.
101 .c.obj:
102 $(CC) $(CFLAGS) -c {$*.c }
103
104 .c.exe:
105 $(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
106
107 ## Major targets
108
109 all: libpng pngtest
110
111 libpng: $(LIBNAME)
112
113 pngtest: pngtest$(MODEL).exe
114
115 test: pngtest$(MODEL).exe
116 pngtest$(MODEL)
117
118 ## Minor Targets
119
120 png.obj: png.c png.h pngconf.h pngpriv.h
121 pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h
122 pngget.obj: pngget.c png.h pngconf.h pngpriv.h
123 pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h
124 pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h
125 pngread.obj: pngread.c png.h pngconf.h pngpriv.h
126 pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h
127 pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h
128 pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h
129 pngset.obj: pngset.c png.h pngconf.h pngpriv.h
130 pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h
131 pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h
132 pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h
133 pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h
134 pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h
135
136 $(LIBNAME): $(OBJS)
137 -del $(LIBNAME)
138 $(LIB) $(LIBNAME) @&&|
139 $(LIBOBJS), libpng$(MODEL)
140 |
141
142 pngtest$(MODEL).obj: pngtest.c png.h pngconf.h
143 $(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
144
145 pngtest$(MODEL).exe: pngtest$(MODEL).obj
146 $(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
147
148 # Clean up anything else you want
149 clean:
150 -del *.obj
151 -del *.exe
152 -del *.lib
153 -del *.lst
154 -del *.map
155
156 # End of makefile for libpng