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
|
---|
121 | pngerror.obj: pngerror.c png.h pngconf.h
|
---|
122 | pngget.obj: pngget.c png.h pngconf.h
|
---|
123 | pngmem.obj: pngmem.c png.h pngconf.h
|
---|
124 | pngpread.obj: pngpread.c png.h pngconf.h
|
---|
125 | pngread.obj: pngread.c png.h pngconf.h
|
---|
126 | pngrio.obj: pngrio.c png.h pngconf.h
|
---|
127 | pngrtran.obj: pngrtran.c png.h pngconf.h
|
---|
128 | pngrutil.obj: pngrutil.c png.h pngconf.h
|
---|
129 | pngset.obj: pngset.c png.h pngconf.h
|
---|
130 | pngtrans.obj: pngtrans.c png.h pngconf.h
|
---|
131 | pngwio.obj: pngwio.c png.h pngconf.h
|
---|
132 | pngwrite.obj: pngwrite.c png.h pngconf.h
|
---|
133 | pngwtran.obj: pngwtran.c png.h pngconf.h
|
---|
134 | pngwutil.obj: pngwutil.c png.h pngconf.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
|
---|