]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/MAI/bios_emulator/scitech/makedefs/wc32.mk
* Patch by Thomas Frieden, 13 Nov 2002:
[karo-tx-uboot.git] / board / MAI / bios_emulator / scitech / makedefs / wc32.mk
1 #############################################################################
2 #
3 #                                       SciTech Multi-platform Graphics Library
4 #
5 #  ========================================================================
6 #
7 #    The contents of this file are subject to the SciTech MGL Public
8 #    License Version 1.0 (the "License"); you may not use this file
9 #    except in compliance with the License. You may obtain a copy of
10 #    the License at http://www.scitechsoft.com/mgl-license.txt
11 #
12 #    Software distributed under the License is distributed on an
13 #    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14 #    implied. See the License for the specific language governing
15 #    rights and limitations under the License.
16 #
17 #    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
18 #
19 #    The Initial Developer of the Original Code is SciTech Software, Inc.
20 #    All Rights Reserved.
21 #
22 #  ========================================================================
23 #
24 # Descripton:   Generic DMAKE startup makefile definitions file. Assumes
25 #               that the SCITECH environment variable has been set to point
26 #               to where all our stuff is installed. You should not need
27 #               to change anything in this file.
28 #
29 #               Watcom C++ 10.x 32 bit version. Supports Rational's DOS4GW
30 #               DOS Extender, PMODE/W, Causeway, FlashTek's X32-VM,
31 #               Phar Lap's TNT DOS Extender, 32-bit Windows development and
32 #                               32-bit OS/2 development.
33 #
34 #############################################################################
35
36 # Include standard startup script definitions
37 .IMPORT: SCITECH
38 .INCLUDE: "$(SCITECH)\makedefs\startup.mk"
39
40 # Import enivornment variables that we use
41 .IMPORT .IGNORE : USE_TNT USE_X32 USE_X32VM USE_PMODEW STKCALL USE_CAUSEWAY
42 .IMPORT .IGNORE : USE_WIN386 USE_OS232 USE_OS2GUI WC_LIBBASE NOOPT DOSSTYLE
43 .IMPORT .IGNORE : OS2_SHELL USE_CODEVIEW USE_DOS32A USE_QNX4 LEAVE_LINKFILE
44
45 # We are compiling for a 32 bit envionment
46    _32BIT_      := 1
47
48 # Setup special environment for QNX 4 (Unix'ish)
49 .IF $(USE_QNX4)
50    USE_QNX      := 1
51    L            := .a           # Libraries
52    LP           := lib      # LP - Library file prefix (name of file on disk)
53    LL           := lib          # Library link prefix (name of library on link command line)
54    LE           := .a       # Library link suffix (extension of library on link command line)
55 .ENDIF
56
57 # Default commands for compiling, assembling linking and archiving
58    CC           := wcc386
59    CPP          := wpp386
60    CFLAGS       := -zq-j-s-fpi87
61 .IF $(USE_NASM)
62    AS                   := nasm
63    ASFLAGS      := -t -f obj -d__FLAT__ -dSTDCALL_MANGLE -iINCLUDE -i$(SCITECH)\INCLUDE
64 .ELSE
65 .IF $(USE_TASM32)
66    AS           := tasm32
67    DLL_TASM     := tasm32
68 .ELIF $(USE_TASMX)
69    AS           := tasmx
70    DLL_TASM     := tasmx
71 .ELSE
72    AS           := tasm
73    DLL_TASM     := tasm
74 .ENDIF
75    ASFLAGS      := /t /mx /m /w-res /w-mcp /D__FLAT__ /DSTDCALL_MANGLE /iINCLUDE /i$(SCITECH)\INCLUDE
76    GAS                  := gcc
77    GAS_FLAGS    := -D__WATCOMC__ -D__SW_3S -D__SW_S -U__GNUC__ -UDJGPP -U__unix__ -Wall -I. -I$(SCITECH)\include -x assembler-with-cpp
78 .ENDIF
79    LD           := wlink
80    LDFLAGS       =
81 .IF $(USE_OS232)
82    RC           := rc
83 .ELSE
84    RC           := wrc
85 .ENDIF
86 .IF $(USE_WIN32)
87    RCFLAGS      := -q /bt=nt
88 .ELIF $(USE_OS232)
89 .IF $(USE_OS2GUI)
90    CFLAGS               += -D__OS2_PM__
91 .ENDIF
92 .ELSE
93    RCFLAGS      := -q
94 .ENDIF
95    LIB          := wlib
96    LIBFLAGS     := -q
97    ILIB         := wlib
98    ILIBFLAGS    := -c
99    INTEL_X86    := 1
100
101 # Set the compiler warning level
102 .IF $(MAX_WARN)
103    CFLAGS       += -w4
104 .ELSE
105    CFLAGS       += -w1
106 .ENDIF
107
108 # Optionally turn on debugging information (Codeview format)
109 .IF $(DBG)
110 .IF $(USE_WIN32)
111 .IF $(USE_CODEVIEW)
112    CFLAGS       += -d2 -hc
113    LDFLAGS      += D CODEVIEW OPT CVPACK
114 .ELSE
115    CFLAGS       += -d2
116    LDFLAGS              += D A
117 .ENDIF
118 .ELSE
119    CFLAGS       += -d2
120    LDFLAGS              += D A
121 .ENDIF
122    LIBFLAGS     += -p=768
123 .IF $(USE_NASM)
124    ASFLAGS      += -F borland -g
125 .ELSE
126 .IF $(USE_TASM32)
127    ASFLAGS      += /q           # TASM32 fucks up Watcom C++ debug info
128 .ELIF $(OS2_SHELL)
129    ASFLAGS      += /q           # TASM for OS/2 fucks up Watcom C++ debug info
130 .ELSE
131    ASFLAGS      += /zi
132 .ENDIF
133 .ENDIF
134 .ELSE
135 .IF $(USE_NASM)
136    ASFLAGS      += -F null
137 .ELSE
138    ASFLAGS      += /q
139 .ENDIF
140 .END
141
142 # Optionally turn on optimisations (with or without stack conventions)
143 .IF $(STKCALL)
144 .IF $(OPT)
145    CFLAGS       += -onatx-5s-fp5
146 .ELIF $(OPT_SIZE)
147    CFLAGS       += -onaslmr-5s-fp5
148 .ELIF $(NOOPT)
149    CFLAGS       += -od-5s
150 .ELSE
151    CFLAGS       += -3s
152 .END
153 .ELSE
154 .IF $(OPT)
155    CFLAGS       += -onatx-5r-fp5
156 .ELIF $(OPT_SIZE)
157    CFLAGS       += -onaslmr-5r-fp5
158 .ELIF $(NOOPT)
159    CFLAGS       += -od-5r
160 .END
161 .END
162
163 # Optionally turn on direct i387 FPU instructions optimised for Pentium
164 .IF $(FPU)
165    CFLAGS       += -DFPU387
166    ASFLAGS      += -dFPU387
167 .END
168
169 # Optionally compile a beta release version of a product
170 .IF $(BETA)
171    CFLAGS       += -DBETA
172    ASFLAGS      += -dBETA
173 .END
174
175 .IF $(USE_TNT)                  # Use Phar Lap's TNT DOS Extender
176         CFLAGS       += -bt=nt -DTNT
177         ASFLAGS          += -dTNT
178         LDFLAGS      += SYS NT OP STUB=GOTNT.EXE
179         LIB_OS       = DOS32
180 .ELIF $(USE_X32VM)              # Use FlashTek X-32VM DOS extender
181         CFLAGS       += -bt=dos
182         LDFLAGS      += SYS X32RV
183     DX_CFLAGS    += -DX32VM
184         DX_ASFLAGS   += -dX32VM
185     LIB_OS       = DOS32
186 .ELIF $(USE_X32)                # Use FlashTek X-32 DOS extender
187         CFLAGS       += -bt=dos
188         LDFLAGS      += SYS X32R
189     DX_CFLAGS    += -DX32VM
190         DX_ASFLAGS   += -dX32VM
191     LIB_OS       = DOS32
192 .ELIF $(USE_QNX4)               # Build QNX 4 app
193         CFLAGS       += -bt=qnx386
194         LDFLAGS      += SYS QNX386FLAT OP CASEEXACT OP OFFSET=40k OP STACK=32k
195     CFLAGS       += -D__QNX__ -D__UNIX__
196         ASFLAGS          += -d__QNX__ -d__UNIX__
197     LIB_OS       = QNX4
198 .ELIF $(USE_OS232)
199 .IF $(BUILD_DLL)
200         CFLAGS       += -bm-bd-bt=os2-sg-DBUILD_DLL
201         ASFLAGS      += -dBUILD_DLL
202 .ELSE
203         CFLAGS       += -bm-bt=os2-sg
204 .ENDIF
205         DX_ASFLAGS   += -d__OS2__
206     LIB_OS       = os232
207 .ELIF $(USE_SNAP)               # Build 32 bit Snap app
208 .IF $(BUILD_DLL)
209         CFLAGS       += -bm-bd-bt=nt-DBUILD_DLL
210         ASFLAGS      += -dBUILD_DLL
211 .ELSE
212         CFLAGS       += -bm-bt=nt-D_WIN32
213 .ENDIF
214         LDFLAGS      += OP nodefaultlibs
215 .IF $(STKCALL)
216         DEFLIBS          := clib3s.lib,math3s.lib,noemu387.lib,
217 .ELSE
218         DEFLIBS          := clib3r.lib,math3r.lib,noemu387.lib,
219 .ENDIF
220         LIB_OS       = SNAP
221 .ELIF $(USE_WIN32)              # Build 32 bit Windows NT app
222 .IF $(WIN32_GUI)
223 .ELSE
224     CFLAGS       += -D__CONSOLE__
225 .ENDIF
226 .IF $(BUILD_DLL)
227         CFLAGS       += -bm-bd-bt=nt-sg-DBUILD_DLL -D_WIN32
228         ASFLAGS      += -dBUILD_DLL
229 .ELSE
230         CFLAGS       += -bm-bt=nt-sg-D_WIN32
231 .ENDIF
232         DX_ASFLAGS   += -d__WINDOWS32__
233         LIB_OS       = WIN32
234     DEFLIBS          := kernel32.lib,user32.lib,gdi32.lib,advapi32.lib,shell32.lib,winmm.lib,comdlg32.lib,comctl32.lib,ole32.lib,oleaut32.lib,version.lib,winspool.lib,uuid.lib,wsock32.lib,rpcrt4.lib,
235 .ELIF $(USE_WIN386)             # Build 32 bit Win386 extended app
236 .IF $(BUILD_DLL)
237     CFLAGS       += -bd-bt=windows-DBUILD_DLL
238         ASFLAGS      += -dBUILD_DLL
239 .ELSE
240     CFLAGS       += -bt=windows
241 .ENDIF
242         DX_ASFLAGS   += -d__WIN386__
243     LIB_OS       = WIN386
244 .ELIF $(USE_PMODEW)             # PMODE/W
245         CFLAGS       += -bt=dos
246         USE_DOS4GW   := 1
247         USE_REALDOS  := 1
248         LDFLAGS      += SYS PMODEW
249         DX_CFLAGS    += -DDOS4GW
250         DX_ASFLAGS   += -dDOS4GW
251         LIB_OS       = DOS32
252 .ELIF $(USE_CAUSEWAY)           # Causeway
253         CFLAGS       += -bt=dos
254         USE_DOS4GW   := 1
255         USE_REALDOS  := 1
256         LDFLAGS      += SYS CAUSEWAY
257         DX_CFLAGS    += -DDOS4GW
258         DX_ASFLAGS   += -dDOS4GW
259         LIB_OS       = DOS32
260 .ELIF $(USE_DOS32A)             # DOS32/A
261         CFLAGS       += -bt=dos
262         USE_DOS4GW   := 1
263         USE_REALDOS  := 1
264         LDFLAGS      += SYS DOS32A
265         DX_CFLAGS    += -DDOS4GW
266         DX_ASFLAGS   += -dDOS4GW
267         LIB_OS       = DOS32
268 .ELSE                           # Use DOS4GW
269         CFLAGS       += -bt=dos
270         USE_DOS4GW   := 1
271         USE_REALDOS  := 1
272         LDFLAGS      += SYS DOS4G
273         DX_CFLAGS    += -DDOS4GW
274         DX_ASFLAGS   += -dDOS4GW
275         LIB_OS       = DOS32
276 .END
277
278 # Disable linking to default C runtime library and PM library
279
280 .IF $(NO_RUNTIME)
281 LDFLAGS                  += OP nodefaultlibs
282 DEFLIBS          :=
283 .ELSE
284
285 # Place to look for PM library files
286
287 .IF $(USE_SNAP)                 # Build 32 bit Snap app or dll
288 PMLIB           :=
289 .ELIF $(USE_WIN32)
290 .IF $(STKCALL)
291 PMLIB           := spm.lib,
292 .ELSE
293 PMLIB           := pm.lib,
294 .ENDIF
295 .ELIF $(USE_OS232)
296 .IF $(STKCALL)
297 .IF $(USE_OS2GUI)
298 PMLIB           := spm_pm.lib,
299 .ELSE
300 PMLIB           := spm.lib,
301 .ENDIF
302 .ELSE
303 .IF $(USE_OS2GUI)
304 PMLIB           := pm_pm.lib,
305 .ELSE
306 PMLIB           := pm.lib,
307 .ENDIF
308 .ENDIF
309 .ELIF $(USE_QNX4)
310 .IF $(STKCALL)
311 PMLIB           := libspm.a,
312 .ELSE
313 PMLIB           := libpm.a,
314 .ENDIF
315 .ELIF $(USE_TNT)
316 .IF $(STKCALL)
317 PMLIB           := tnt\spm.lib,
318 .ELSE
319 PMLIB           := tnt\pm.lib,
320 .ENDIF
321 .ELIF $(USE_X32)
322 .IF $(STKCALL)
323 PMLIB           := x32\spm.lib,
324 .ELSE
325 PMLIB           := x32\pm.lib,
326 .ENDIF
327 .ELSE
328 .IF $(STKCALL)
329 PMLIB           := dos4gw\spm.lib,
330 .ELSE
331 PMLIB           := dos4gw\pm.lib,
332 .ENDIF
333 .ENDIF
334 .ENDIF
335
336 # Define the base directory for library files
337
338 .IF $(CHECKED)
339 LIB_BASE_DIR    := $(SCITECH_LIB)\lib\debug
340 CFLAGS                  += -DCHECKED=1
341 .ELSE
342 LIB_BASE_DIR    := $(SCITECH_LIB)\lib\release
343 .ENDIF
344
345 # Define where to install library files
346    LIB_BASE     := $(LIB_BASE_DIR)\$(LIB_OS)\$(WC_LIBBASE)
347    LIB_DEST     := $(LIB_BASE)
348
349     LDFLAGS += op map
350
351 # Define which file contains our rules
352
353    RULES_MAK    := wc32.mk
354