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

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

rc/rc16 toolkit issue.

File size: 4.4 KB
Line 
1# $Id: setup.os2relwat11-16.mk,v 1.10 2002-08-27 03:58:03 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.os2relrc.mk
27!include $(PATH_MAKE)\setup.os2relwrc.mk
28!include $(PATH_MAKE)\setup.optional.watcom11x.mk
29
30
31#
32# The tools
33#
34AR=ilib.exe
35CC=wcc.exe
36CXX=wpp.exe
37LINK=wlink.exe
38IMPLIB=implib.exe
39
40
41#
42# The flags
43#
44AR_FLAGS=/nologo /noignorecase
45AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
46AR_LNK1= "$(@R).$(EXT_LIB)"
47AR_LNK2=y
48_AR_LNK3= +"$(TARGET_OBJS: ="&^
49 +")"
50AR_LNK3= $(_AR_LNK3:+""&^
51=)
52AR_LNK4= "$(@R).lst";
53
54_CC_FLAGS_OS =
55
56CC_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
57CC_FLAGS_EXE=$(CC_FLAGS) -omlinear -zc
58CC_FLAGS_DLL=$(CC_FLAGS) -omlinear -zc -bd
59CC_FLAGS_SYS=$(CC_FLAGS) -omlinear -s -zff -zgf -zu
60CC_FLAGS_VDD=$(CC_FLAGS_SYS)
61CC_FLAGS_IFS=$(CC_FLAGS) -out -s -zff -zgf -zu -bd
62CC_OBJ_OUT=-fo=
63CC_LST_OUT=
64CC_PC_2_STDOUT=-pc
65
66CXX_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
67CXX_FLAGS_EXE=$(CXX_FLAGS) -omlinear -zc
68CXX_FLAGS_DLL=$(CXX_FLAGS) -omlinear -zc -bd
69CXX_FLAGS_SYS=$(CXX_FLAGS) -omlinear -s -zff -zgf -zu
70CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
71CXX_FLAGS_IFS=$(CXX_FLAGS) -omlnaru -s -zff -zgf -zdp -zu -bd
72CXX_OBJ_OUT=-fo=
73CXX_LST_OUT=
74CXX_PC_2_STDOUT=-pc
75
76!if "$(CC_AS_CXX)" != ""
77! if "$(CXX_AS_CC)" != ""
78! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
79! endif
80! error
81! endif
82CC=$(CXX)
83CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
84CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
85CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
86CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
87CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
88!endif
89!if "$(CXX_AS_CC)" != ""
90CXX=$(CC)
91CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
92CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
93CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
94CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
95CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
96!endif
97
98IMPLIB_FLAGS=/NOI /Nologo
99
100LINK_FLAGS=Sort global Option eliminate, manglednames, caseexact, verbose, cache $(_LD_OPTIONAL) #Debug codeview all
101LINK_FLAGS_EXE=$(LINK_FLAGS)
102LINK_FLAGS_DLL=$(LINK_FLAGS)
103LINK_FLAGS_SYS=$(LINK_FLAGS) segment type code preload segment type data preload Option internalrelocs, togglerelocs
104LINK_FLAGS_VDD=$(LINK_FLAGS_SYS)
105LINK_FLAGS_IFS=$(LINK_FLAGS) segment type code preload segment type data preload
106LINK_CMD_EXE=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_EXE)
107LINK_CMD_DLL=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_DLL)
108LINK_CMD_SYS=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_SYS)
109LINK_CMD_VDD=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_VDD)
110LINK_CMD_IFS=$(LINK) @$(TARGET_LNK) $(LINK_FLAGS_IFS)
111LINK_LNK1=file $(TARGET_OBJS: =^
112file )
113LINK_LNK2=libpath $(WATCOM)\lib286\os2;$(WATCOM)\lib286;
114LINK_LNK3=option map=$(TARGET_MAP)
115LINK_LNK4=library $(TARGET_LIBS: =^, )
116LINK_LNK5=name $(PATH_TARGET)\$(TARGET_NAME).$(TARGET_EXT)
117
118
119
120#
121# Libraries and object files.
122# TODO - DLL and RTDLL doesn't work.
123# Probably needing code to be compiled with far code. I.e. MODEL hugh, large or medium.
124#
125LIB_OS = os2286.lib
126
127_LIB_MT =
128!if "$(_OBJ_MODEL)" == "m"
129_LIB_MT = mt # this is the only one there is a MT edition of, don't know why.
130!endif
131_LIB_DLL=
132!if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
133_LIB_DLL= dl
134!endif
135!if "$(_CXX_XCPT)" != "-xs"
136LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plib$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
137!else
138LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plbx$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
139!endif
140LIB_C_DLL = $(LIB_C_OBJ) # clibdll.lib
141LIB_C_RTDLL = $(LIB_C_OBJ) # clibdll.lib
142LIB_C_NRE = $(LIB_C_OBJ)
143LIB_C_DMNGL =
144OBJ_PROFILE =
145
146
147# ---OS2, RELEASE, WAT11-------------------------
148
Note: See TracBrowser for help on using the repository browser.