| 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
|
|---|