1 | #
|
---|
2 | # Generalised Bitmap Module
|
---|
3 | #
|
---|
4 | # OS/2
|
---|
5 | # IBM VisualAge C++, with CTC306, CTD302 and CTU304
|
---|
6 | #
|
---|
7 | # Builds GBM.DLL which is compiled multithreaded
|
---|
8 | # Therefore all users should also be multithreaded
|
---|
9 | #
|
---|
10 | # Note problems have been observed when optimisation allows the instruction
|
---|
11 | # scheduler to do its thing. Bug present beleived present in IBM C-Set++, with
|
---|
12 | # CSD 12, and in particular affects inner loops in gbmht.c and gbmerr.c.
|
---|
13 | # Bug suspected also present in VisualAge C++, even with CTC305.
|
---|
14 | #
|
---|
15 |
|
---|
16 | # Modify this line to point to the Independant JPEG groups library 6a
|
---|
17 | # If you haven't got it, comment out the line instead.
|
---|
18 | IJG = \build\os2\jpeg-6a
|
---|
19 |
|
---|
20 | !ifdef IJG
|
---|
21 | CJPEG = /DIJG
|
---|
22 | !else
|
---|
23 | CJPEG =
|
---|
24 | !endif
|
---|
25 |
|
---|
26 | CWARNS = /W3 /Wcnd+cns+dcl+ord+par+pro+rea+ret+use+
|
---|
27 | CFLAGS = /C+ $(CWARNS) /DOS2 /G4 /Gd-m+ /Q+ /O+ /Os- $(CJPEG)
|
---|
28 | CFLAGS_EXE = $(CFLAGS) /Ge+
|
---|
29 | CFLAGS_DLL = $(CFLAGS) /Ge-
|
---|
30 | LFLAGS = /NOI /ALIGN:4 /NOLOGO
|
---|
31 | LFLAGS_EXE = $(LFLAGS) /BASE:0x10000 /STACK:0x6000 /PMTYPE:VIO
|
---|
32 | LFLAGS_DLL = $(LFLAGS)
|
---|
33 |
|
---|
34 | .SUFFIXES: .c .obj
|
---|
35 |
|
---|
36 | .c.obj:
|
---|
37 | icc $(CFLAGS_EXE) $*.c
|
---|
38 |
|
---|
39 | #
|
---|
40 |
|
---|
41 | all: ijg gbm.dll gbm.lib gbmhdr.exe \
|
---|
42 | gbmmir.lib gbmref.exe \
|
---|
43 | gbmrect.lib gbmsub.exe \
|
---|
44 | gbmscale.lib gbmsize.exe \
|
---|
45 | gbmerr.lib gbmtrunc.lib gbmht.lib gbmhist.lib gbmmcut.lib gbmbpp.exe \
|
---|
46 | gbmcpal.exe \
|
---|
47 | gbmgamma.exe
|
---|
48 |
|
---|
49 | #
|
---|
50 |
|
---|
51 | ijg:
|
---|
52 | !ifdef IJG
|
---|
53 | @echo JPEG support, via Independent JPEG Group
|
---|
54 | @copy $(IJG)\jconfig.doc $(IJG)\jconfig.h
|
---|
55 | @copy makeijgo $(IJG)
|
---|
56 | @copy jmorecfg.h $(IJG)
|
---|
57 | (cd $(IJG) && nmake -c -f makeijgo)
|
---|
58 | !else
|
---|
59 | @echo No JPEG support
|
---|
60 | !endif
|
---|
61 |
|
---|
62 | #
|
---|
63 |
|
---|
64 | !ifdef IJG
|
---|
65 | IJGOBJ = $(IJG)\jcapimin.obj $(IJG)\jcapistd.obj $(IJG)\jctrans.obj \
|
---|
66 | $(IJG)\jcparam.obj $(IJG)\jdatadst.obj $(IJG)\jcinit.obj \
|
---|
67 | $(IJG)\jcmaster.obj $(IJG)\jcmarker.obj $(IJG)\jcmainct.obj \
|
---|
68 | $(IJG)\jcprepct.obj $(IJG)\jccoefct.obj $(IJG)\jccolor.obj \
|
---|
69 | $(IJG)\jcsample.obj $(IJG)\jchuff.obj $(IJG)\jcphuff.obj \
|
---|
70 | $(IJG)\jcdctmgr.obj $(IJG)\jfdctfst.obj $(IJG)\jfdctflt.obj \
|
---|
71 | $(IJG)\jfdctint.obj $(IJG)\jdapimin.obj $(IJG)\jdapistd.obj \
|
---|
72 | $(IJG)\jdtrans.obj $(IJG)\jdatasrc.obj $(IJG)\jdmaster.obj \
|
---|
73 | $(IJG)\jdinput.obj $(IJG)\jdmarker.obj $(IJG)\jdhuff.obj \
|
---|
74 | $(IJG)\jdphuff.obj $(IJG)\jdmainct.obj $(IJG)\jdcoefct.obj \
|
---|
75 | $(IJG)\jdpostct.obj $(IJG)\jddctmgr.obj $(IJG)\jidctfst.obj \
|
---|
76 | $(IJG)\jidctflt.obj $(IJG)\jidctint.obj $(IJG)\jidctred.obj \
|
---|
77 | $(IJG)\jdsample.obj $(IJG)\jdcolor.obj $(IJG)\jquant1.obj \
|
---|
78 | $(IJG)\jquant2.obj $(IJG)\jdmerge.obj $(IJG)\jcomapi.obj \
|
---|
79 | $(IJG)\jutils.obj $(IJG)\jerror.obj $(IJG)\jmemmgr.obj \
|
---|
80 | $(IJG)\jmemnobs.obj
|
---|
81 | !else
|
---|
82 | IJGOBJ =
|
---|
83 | !endif
|
---|
84 |
|
---|
85 | gbm.dll: gbm.obj gbmpgm.obj gbmppm.obj gbmbmp.obj gbmtga.obj \
|
---|
86 | gbmkps.obj gbmiax.obj gbmpcx.obj gbmtif.obj gbmtifh.obj \
|
---|
87 | gbmlbm.obj gbmvid.obj gbmgif.obj gbmxbm.obj gbmspr.obj \
|
---|
88 | gbmpsg.obj gbmgem.obj gbmcvp.obj gbmjpg.obj gbmhelp.obj \
|
---|
89 | gbm.def
|
---|
90 | ilink $(LFLAGS_DLL) /OUT:$@ @<<
|
---|
91 | $** $(IJGOBJ)
|
---|
92 | <<
|
---|
93 |
|
---|
94 | gbm.lib: gbm.def
|
---|
95 | implib /NOLOGO /NOI $@ $**
|
---|
96 |
|
---|
97 | gbm.obj: gbm.c gbm.h gbmhelp.h gbmpgm.h gbmppm.h gbmbmp.h gbmtga.h gbmkps.h gbmiax.h gbmpcx.h gbmtif.h gbmlbm.h gbmvid.h gbmgif.h gbmxbm.h gbmspr.h gbmpsg.h gbmgem.h gbmcvp.h gbmjpg.h
|
---|
98 | icc $(CFLAGS_DLL) $*.c
|
---|
99 |
|
---|
100 | gbmpgm.obj: gbmpgm.c gbm.h gbmhelp.h
|
---|
101 | icc $(CFLAGS_DLL) $*.c
|
---|
102 |
|
---|
103 | gbmppm.obj: gbmppm.c gbm.h gbmhelp.h
|
---|
104 | icc $(CFLAGS_DLL) $*.c
|
---|
105 |
|
---|
106 | gbmbmp.obj: gbmbmp.c gbm.h gbmhelp.h
|
---|
107 | icc $(CFLAGS_DLL) $*.c
|
---|
108 |
|
---|
109 | gbmtga.obj: gbmtga.c gbm.h gbmhelp.h
|
---|
110 | icc $(CFLAGS_DLL) $*.c
|
---|
111 |
|
---|
112 | gbmkps.obj: gbmkps.c gbm.h gbmhelp.h
|
---|
113 | icc $(CFLAGS_DLL) $*.c
|
---|
114 |
|
---|
115 | gbmiax.obj: gbmiax.c gbm.h gbmhelp.h
|
---|
116 | icc $(CFLAGS_DLL) $*.c
|
---|
117 |
|
---|
118 | gbmpcx.obj: gbmpcx.c gbm.h gbmhelp.h
|
---|
119 | icc $(CFLAGS_DLL) $*.c
|
---|
120 |
|
---|
121 | gbmtif.obj: gbmtif.c gbm.h gbmhelp.h gbmtifh.h
|
---|
122 | icc $(CFLAGS_DLL) $*.c
|
---|
123 |
|
---|
124 | gbmtifh.obj: gbmtifh.c gbmtifh.h
|
---|
125 | icc $(CFLAGS_DLL) $*.c
|
---|
126 |
|
---|
127 | gbmlbm.obj: gbmlbm.c gbm.h gbmhelp.h
|
---|
128 | icc $(CFLAGS_DLL) $*.c
|
---|
129 |
|
---|
130 | gbmvid.obj: gbmvid.c gbm.h gbmhelp.h
|
---|
131 | icc $(CFLAGS_DLL) $*.c
|
---|
132 |
|
---|
133 | gbmgif.obj: gbmgif.c gbm.h gbmhelp.h
|
---|
134 | icc $(CFLAGS_DLL) $*.c
|
---|
135 |
|
---|
136 | gbmxbm.obj: gbmxbm.c gbm.h gbmhelp.h
|
---|
137 | icc $(CFLAGS_DLL) $*.c
|
---|
138 |
|
---|
139 | gbmspr.obj: gbmspr.c gbm.h gbmhelp.h
|
---|
140 | icc $(CFLAGS_DLL) $*.c
|
---|
141 |
|
---|
142 | gbmpsg.obj: gbmpsg.c gbm.h gbmhelp.h
|
---|
143 | icc $(CFLAGS_DLL) $*.c
|
---|
144 |
|
---|
145 | gbmgem.obj: gbmgem.c gbm.h gbmhelp.h
|
---|
146 | icc $(CFLAGS_DLL) $*.c
|
---|
147 |
|
---|
148 | gbmcvp.obj: gbmcvp.c gbm.h gbmhelp.h
|
---|
149 | icc $(CFLAGS_DLL) $*.c
|
---|
150 |
|
---|
151 | !ifdef IJG
|
---|
152 | gbmjpg.obj: gbmjpg.c gbm.h gbmhelp.h
|
---|
153 | icc $(CFLAGS_DLL) /I$(IJG) $*.c
|
---|
154 | !endif
|
---|
155 |
|
---|
156 | gbmhelp.obj: gbmhelp.c gbm.h
|
---|
157 | icc $(CFLAGS_DLL) $*.c
|
---|
158 |
|
---|
159 | #
|
---|
160 |
|
---|
161 | gbmhdr.exe: gbmhdr.obj gbm.lib
|
---|
162 | ilink $(LFLAGS_EXE) /OUT:$@ /NOE setargv.obj $**
|
---|
163 |
|
---|
164 | gbmhdr.obj: gbmhdr.c gbm.h
|
---|
165 |
|
---|
166 | #
|
---|
167 |
|
---|
168 | gbmmir.lib: gbmmir.obj
|
---|
169 | -del $@ 2> nul
|
---|
170 | ilib /NOLOGO $@ $**;
|
---|
171 |
|
---|
172 | gbmmir.obj: gbmmir.c
|
---|
173 |
|
---|
174 | gbmref.exe: gbmref.obj gbm.lib gbmmir.lib
|
---|
175 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
176 |
|
---|
177 | gbmref.obj: gbmref.c gbm.h gbmmir.h
|
---|
178 |
|
---|
179 | #
|
---|
180 |
|
---|
181 | gbmrect.lib: gbmrect.obj
|
---|
182 | -del $@ 2> nul
|
---|
183 | ilib /NOLOGO $@ $**;
|
---|
184 |
|
---|
185 | gbmrect.obj: gbmrect.c
|
---|
186 |
|
---|
187 | gbmsub.exe: gbmsub.obj gbm.lib gbmrect.lib
|
---|
188 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
189 |
|
---|
190 | gbmsub.obj: gbmsub.c gbm.h gbmrect.h
|
---|
191 |
|
---|
192 | #
|
---|
193 |
|
---|
194 | gbmerr.lib: gbmerr.obj
|
---|
195 | -del $@ 2> nul
|
---|
196 | ilib /NOLOGO $@ $**;
|
---|
197 |
|
---|
198 | gbmerr.obj: gbmerr.c
|
---|
199 |
|
---|
200 | #
|
---|
201 |
|
---|
202 | gbmscale.lib: gbmscale.obj
|
---|
203 | -del $@ 2> nul
|
---|
204 | ilib /NOLOGO $@ $**;
|
---|
205 |
|
---|
206 | gbmscale.obj: gbmscale.c
|
---|
207 |
|
---|
208 | gbmsize.exe: gbmsize.obj gbm.lib gbmscale.lib
|
---|
209 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
210 |
|
---|
211 | gbmsize.obj: gbmsize.c gbm.h gbmscale.h
|
---|
212 |
|
---|
213 | #
|
---|
214 |
|
---|
215 | gbmtrunc.lib: gbmtrunc.obj
|
---|
216 | -del $@ 2> nul
|
---|
217 | ilib /NOLOGO $@ $**;
|
---|
218 |
|
---|
219 | gbmtrunc.obj: gbmtrunc.c
|
---|
220 |
|
---|
221 | #
|
---|
222 |
|
---|
223 | gbmht.lib: gbmht.obj
|
---|
224 | -del $@ 2> nul
|
---|
225 | ilib /NOLOGO $@ $**;
|
---|
226 |
|
---|
227 | gbmht.obj: gbmht.c
|
---|
228 |
|
---|
229 | #
|
---|
230 |
|
---|
231 | gbmhist.lib: gbmhist.obj
|
---|
232 | -del $@ 2> nul
|
---|
233 | ilib /NOLOGO $@ $**;
|
---|
234 |
|
---|
235 | gbmhist.obj: gbmhist.c
|
---|
236 |
|
---|
237 | #
|
---|
238 |
|
---|
239 | gbmmcut.lib: gbmmcut.obj
|
---|
240 | -del $@ 2> nul
|
---|
241 | ilib /NOLOGO $@ $**;
|
---|
242 |
|
---|
243 | gbmmcut.obj: gbmmcut.c
|
---|
244 |
|
---|
245 | #
|
---|
246 |
|
---|
247 | gbmbpp.exe: gbmbpp.obj gbm.lib gbmerr.lib gbmtrunc.lib gbmht.lib gbmhist.lib gbmmcut.lib
|
---|
248 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
249 |
|
---|
250 | gbmbpp.obj: gbmbpp.c gbm.h gbmerr.h gbmtrunc.h gbmht.h gbmhist.h gbmmcut.h
|
---|
251 |
|
---|
252 | #
|
---|
253 |
|
---|
254 | gbmcpal.exe: gbmcpal.obj gbm.lib gbmhist.lib gbmmcut.lib
|
---|
255 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
256 |
|
---|
257 | gbmcpal.obj: gbmcpal.c gbm.h gbmhist.h gbmmcut.h
|
---|
258 |
|
---|
259 | #
|
---|
260 |
|
---|
261 | gbmgamma.exe: gbmgamma.obj gbm.lib
|
---|
262 | ilink $(LFLAGS_EXE) /OUT:$@ $**
|
---|
263 |
|
---|
264 | gbmgamma.obj: gbmgamma.c gbm.h
|
---|
265 |
|
---|
266 | #
|
---|
267 |
|
---|
268 | clean:
|
---|
269 | -del *.obj 2> nul
|
---|
270 |
|
---|
271 | #
|
---|
272 |
|
---|
273 | IDIR = d:\gbm
|
---|
274 |
|
---|
275 | install:
|
---|
276 | copy *.exe $(IDIR)
|
---|
277 | copy *.dll $(IDIR)
|
---|
278 |
|
---|
279 | #
|
---|
280 |
|
---|
281 | package:
|
---|
282 | zip -q gbmos2 gbm.htm gbm.h gbm.lib gbm.dll *.exe
|
---|