source: trunk/make/setup.os2relwat11.mk@ 9153

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

Splitted out the watcom linker into it own config files.
Option to use ilink with watcom environments.

File size: 3.3 KB
Line 
1# $Id: setup.os2relwat11.mk,v 1.8 2002-08-28 04:42:05 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"
12ENV_STATUS=OK
13!if "$(ENV_ENVS)" == ""
14ENV_ENVS=vac308 watcomc11c
15!else
16ENV_ENVS_FORCE=vac308 watcomc11c
17!endif
18!undef ENV_16BIT
19
20
21#
22# Include some shared standard stuff: ALP, 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.os2relwlink.mk
29!ifdef LD_USE_ILINK
30LD_OLDCPP = 1
31! include $(PATH_MAKE)\setup.os2relilink.mk
32!else
33_LD_LIBPATH = $(PATH_WATCOM)\lib386\os2;$(PATH_WATCOM)\lib386;
34! include $(PATH_MAKE)\setup.os2relwlink.mk
35!endif
36!include $(PATH_MAKE)\setup.optional.watcom11x.mk
37
38
39#
40# The tools
41#
42AR=ilib.exe
43CC=wcc386.exe
44CXX=wpp386.exe
45LINK=wlink.exe
46IMPLIB=implib.exe
47
48
49#
50# The flags
51#
52AR_FLAGS=/nologo /noignorecase
53AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
54AR_LNK1= "$(@R).$(EXT_LIB)"
55AR_LNK2=y
56_AR_LNK3= +"$(TARGET_OBJS: ="&^
57 +")"
58AR_LNK3= $(_AR_LNK3:+""&^
59=)
60AR_LNK4= "$(@R).lst";
61
62CC_FLAGS=-bt=os2v2 -dOS2 -d__32BIT__ -d__i386__ -5r -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
63CC_FLAGS_EXE=$(CC_FLAGS) -omlinear -zc
64CC_FLAGS_DLL=$(CC_FLAGS) -omlinear -zc -bd
65CC_FLAGS_SYS=$(CC_FLAGS) -omlinear -s -zdp -zff -zgf -zu
66CC_FLAGS_VDD=$(CC_FLAGS_SYS)
67CC_FLAGS_IFS=$(CC_FLAGS_SYS) -omlnaru -bd
68CC_OBJ_OUT=-fo=
69CC_LST_OUT=
70CC_PC_2_STDOUT=-pc
71
72CXX_FLAGS=-bt=os2v2 -dOS2 -d__32BIT__ -d__i386__ -5r -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
73CXX_FLAGS_EXE=$(CXX_FLAGS) -omlinear -zc
74CXX_FLAGS_DLL=$(CXX_FLAGS) -omlinear -zc -bd
75CXX_FLAGS_SYS=$(CXX_FLAGS) -omlinear -omlinear -s -zdp -zff -zgf -zu
76CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
77CXX_FLAGS_IFS=$(CXX_FLAGS_SYS) -omlnaru -bd
78CXX_OBJ_OUT=-fo=
79CXX_LST_OUT=
80CXX_PC_2_STDOUT=-pc
81
82!if "$(CC_AS_CXX)" != ""
83! if "$(CXX_AS_CC)" != ""
84! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
85! endif
86! error
87! endif
88CC=$(CXX)
89CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
90CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
91CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
92CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
93CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
94!endif
95!if "$(CXX_AS_CC)" != ""
96CXX=$(CC)
97CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
98CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
99CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
100CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
101CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
102!endif
103
104IMPLIB_FLAGS=/NOI /Nologo
105
106
107#
108# Libraries and object files.
109#
110LIB_OS = os2386.lib
111!if "$(_CXX_XCPT)" == "-xd"
112LIB_C_OBJ = clib3r.lib plibmt3r.lib math387r.lib emu387.lib
113LIB_C_DLL = clbrdll.lib plbrdll.lib mt7rdll.lib emu387.lib
114LIB_C_RTDLL = clbrdll.lib # TODO
115LIB_C_NRE = $(LIB_C_OBJ) # TODO
116!else
117LIB_C_OBJ = clib3r.lib plbxmt3r.lib math387r.lib emu387.lib
118LIB_C_DLL = clbrdll.lib plbrdllx.lib mt7rdll.lib emu387.lib
119LIB_C_RTDLL = clbrdll.lib # TODO
120LIB_C_NRE = $(LIB_C_OBJ) # TODO
121!endif
122LIB_C_DMNGL =
123OBJ_PROFILE =
124
125# ---OS2, RELEASE, WAT11-------------------------
126
Note: See TracBrowser for help on using the repository browser.