source: trunk/make/setup.os2relwat11-16.mk@ 9137

Last change on this file since 9137 was 9137, checked in by bird, 23 years ago

Flags adjustments.
Added options.

File size: 4.5 KB
Line 
1# $Id: setup.os2relwat11-16.mk,v 1.9 2002-08-27 03:03:14 bird Exp $
2
3#
4# Note! Watcom is unable to do debug info release builds.
5# Because of a compiler bug which makes it emit code with
6# no optimizations.
7# Another reason is that lxlite isn't able to strip it.
8#
9
10# ---OS2, RELEASE, WAT11-------------------------
11ENV_NAME="OS/2, Release, Watcom C/C++ v11.0c 16-bit"
12ENV_STATUS=OK
13!if "$(ENV_ENVS)" == ""
14ENV_ENVS=ddkbase vac308 watcomc11c-16
15!else
16ENV_ENVS_FORCE=ddkbase vac308 watcomc11c-16
17!endif
18ENV_16BIT = 16
19
20
21#
22# Include some shared standard stuff: ALP, WRC, VAC optional stuff.
23#
24AS_DEBUG_TYPE = Codeview
25!include $(PATH_MAKE)\setup.os2relalp.mk
26!include $(PATH_MAKE)\setup.os2relwrc.mk
27!include $(PATH_MAKE)\setup.optional.watcom11x.mk
28
29
30#
31# The tools
32#
33AR=ilib.exe
34CC=wcc.exe
35CXX=wpp.exe
36LINK=wlink.exe
37IMPLIB=implib.exe
38RC=rc.exe
39RL=rc.exe
40
41
42#
43# The flags
44#
45AR_FLAGS=/nologo /noignorecase
46AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
47AR_LNK1= "$(@R).$(EXT_LIB)"
48AR_LNK2=y
49_AR_LNK3= +"$(TARGET_OBJS: ="&^
50 +")"
51AR_LNK3= $(_AR_LNK3:+""&^
52=)
53AR_LNK4= "$(@R).lst";
54
55_CC_FLAGS_OS =
56
57CC_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -5 -zq -bm -ze -w4 -zld $(_CC_OPTIONAL) $(CC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(CC_INCLUDES:-I=-i=) $(ALL_INCLUDES:-I=-i=) -i=$(PATH_INCLUDES) -i=$(WATCOM)\h
58CC_FLAGS_EXE=$(CC_FLAGS) -omlinear -zc
59CC_FLAGS_DLL=$(CC_FLAGS) -omlinear -zc -bd
60CC_FLAGS_SYS=$(CC_FLAGS) -omlinear -s -zff -zgf -zu
61CC_FLAGS_VDD=$(CC_FLAGS_SYS)
62CC_FLAGS_IFS=$(CC_FLAGS) -out -s -zff -zgf -zu -bd
63CC_OBJ_OUT=-fo=
64CC_LST_OUT=
65CC_PC_2_STDOUT=-pc
66
67CXX_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -5 -zq -bm -ze -w4 -zld $(_CXX_OPTIONAL) $(CXX_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(CXX_INCLUDES:-I=-i=) $(ALL_INCLUDES:-I=-i=) -i=$(PATH_INCLUDES) -i=$(WATCOM)\h
68CXX_FLAGS_EXE=$(CXX_FLAGS) -omlinear -zc
69CXX_FLAGS_DLL=$(CXX_FLAGS) -omlinear -zc -bd
70CXX_FLAGS_SYS=$(CXX_FLAGS) -omlinear -s -zff -zgf -zu
71CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
72CXX_FLAGS_IFS=$(CXX_FLAGS) -omlnaru -s -zff -zgf -zdp -zu -bd
73CXX_OBJ_OUT=-fo=
74CXX_LST_OUT=
75CXX_PC_2_STDOUT=-pc
76
77!if "$(CC_AS_CXX)" != ""
78! if "$(CXX_AS_CC)" != ""
79! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
80! endif
81! error
82! endif
83CC=$(CXX)
84CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
85CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
86CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
87CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
88CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
89!endif
90!if "$(CXX_AS_CC)" != ""
91CXX=$(CC)
92CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
93CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
94CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
95CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
96CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
97!endif
98
99IMPLIB_FLAGS=/NOI /Nologo
100
101LINK_FLAGS=Sort global Option eliminate, manglednames, caseexact, verbose, cache $(_LD_OPTIONAL) #Debug codeview all
102LINK_FLAGS_EXE=$(LINK_FLAGS)
103LINK_FLAGS_DLL=$(LINK_FLAGS)
104LINK_FLAGS_SYS=$(LINK_FLAGS) segment type code preload segment type data preload Option internalrelocs, togglerelocs
105LINK_FLAGS_VDD=$(LINK_FLAGS_SYS)
106LINK_FLAGS_IFS=$(LINK_FLAGS) segment type code preload segment type data preload
107LINK_CMD_EXE=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_EXE)
108LINK_CMD_DLL=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_DLL)
109LINK_CMD_SYS=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_SYS)
110LINK_CMD_VDD=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_VDD)
111LINK_CMD_IFS=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_IFS)
112LINK_LNK1=file $(TARGET_OBJS: =^
113file )
114LINK_LNK2=libpath $(WATCOM)\lib286\os2;$(WATCOM)\lib286;
115LINK_LNK3=option map=$(TARGET_MAP)
116LINK_LNK4=library $(TARGET_LIBS: =^, )
117LINK_LNK5=name $(PATH_TARGET)\$(TARGET_NAME).$(TARGET_EXT)
118
119RC_FLAGS=-r -n $(RC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(RC_INCLUDES:-I=-i ) $(ALL_INCLUDES:-I=-i ) -i $(PATH_INCLUDES:;= -i )
120RL_FLAGS=-x2 -n
121
122
123#
124# Libraries and object files.
125# TODO - DLL and RTDLL doesn't work.
126# Probably needing code to be compiled with far code. I.e. MODEL hugh, large or medium.
127#
128LIB_OS = os2286.lib
129
130_LIB_MT =
131!if "$(_OBJ_MODEL)" == "m"
132_LIB_MT = mt # this is the only one there is a MT edition of, don't know why.
133!endif
134_LIB_DLL=
135!if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
136_LIB_DLL= dl
137!endif
138!if "$(_CXX_XCPT)" != "-xs"
139LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plib$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
140!else
141LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plbx$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
142!endif
143LIB_C_DLL = $(LIB_C_OBJ) # clibdll.lib
144LIB_C_RTDLL = $(LIB_C_OBJ) # clibdll.lib
145LIB_C_NRE = $(LIB_C_OBJ)
146LIB_C_DMNGL =
147OBJ_PROFILE =
148
149
150# ---OS2, RELEASE, WAT11-------------------------
151
Note: See TracBrowser for help on using the repository browser.