source: trunk/make/setup.os2prfemx.mk@ 9120

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

Include wrc setup. Removed /Optfunc as it removed public names without removing the code; which is confusing.

File size: 4.0 KB
RevLine 
[9120]1# $Id: setup.os2prfemx.mk,v 1.5 2002-08-24 04:59:47 bird Exp $
[8358]2
3# ---OS2, PROFILE, EMX----------------------------
4ENV_NAME="OS/2, Profile, EMX/GCC Compiler"
5ENV_STATUS=OK
6!if "$(ENV_ENVS)" == ""
[8423]7ENV_ENVS=vac308 emx emxpgcc
[8358]8!else
[8423]9ENV_ENVS_FORCE=vac308 emx emxpgcc
[8358]10!endif
11SPACE=_
[8423]12!undef ENV_16BIT
[8358]13
14
15#
16# Make sure ilink finds the libraries.
17#
18!if [set LIB=$(PATH_EMX)\lib\mt;$(LIBRARY_PATH);$(LIB)]
19!endif
20
21
22#
23# Include some shared standard stuff: ALP, VAC optional stuff.
24#
25!include $(PATH_MAKE)\setup.os2prfalp.mk
[9120]26!include $(PATH_MAKE)\setup.os2prfwrc.mk
[8358]27!include $(PATH_MAKE)\setup.optional.emx.mk
28
29
30#
31# The tools
32#
33AR=ilib.exe
34CC=gcc.exe
35CXX=gcc.exe
36LINK=ilink.exe
37IMPLIB=implib.exe
38RC=rc.exe
39RL=rc.exe
40EXEPACK=lxlite.exe
41
42
43#
44# The flags
45#
46AR_FLAGS=/nologo /noignorecase
[9060]47AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
48AR_LNK1= "$(@R).$(EXT_LIB)"
49AR_LNK2=y
50_AR_LNK3= +"$(TARGET_OBJS: ="&^
51 +")"
52AR_LNK3= $(_AR_LNK3:+""&^
53=)
54AR_LNK4= "$(@R).lst";
[8358]55
[9060]56
[8358]57CC_FLAGS=-c -DDEBUG -DOS2 -D__32BIT__ -DMODEL=FLAT -Zomf -Wall -Wstrict-prototypes -Wno-trigraphs \
58 -fno-common -march=i586 -g $(_CC_OPTIONAL) \
59 $(CC_DEFINES:/D=-D) $(ALL_DEFINES:/D=-D) $(BUILD_DEFINES:/D=-D) $(CC_INCLUDES:^;= -I) $(ALL_INCLUDES:^;= -I) -I$(PATH_INCLUDES:^;= -I)
60CC_FLAGS_EXE=$(CC_FLAGS: = ) -Zmt -Zexe
61CC_FLAGS_DLL=$(CC_FLAGS: = ) -Zmt -Zdll
62CC_FLAGS_SYS=$(CC_FLAGS: = ) -DRING0 -mno-probe -Zdll -Zno-rte
63CC_FLAGS_VDD=$(CC_FLAGS_SYS: = )
64CC_FLAGS_IFS=$(CC_FLAGS_SYS: = ) -Zdll
65CC_OBJ_OUT=-o$(SPACE:_= )
66#CC_LST_OUT=-S -o$(SPACE:_= )
67CC_PC_2_STDOUT=-C -E
[8717]68CC_AS_2_FILE=-S -o$(SPACE:_= )
[8358]69
70
71CXX_FLAGS=-c -DDEBUG -DOS2 -D__32BIT__ -DMODEL=FLAT -Zomf -Wall -Wstrict-prototypes -Wno-trigraphs \
72 -fno-common -march=i586 -g $(_CXX_OPTIONAL) \
73 $(CXX_DEFINES:/D=-D) $(ALL_DEFINES:/D=-D) $(BUILD_DEFINES:/D=-D) $(CXX_INCLUDES:^;= -I) $(ALL_INCLUDES:^;= -I) -I$(PATH_INCLUDES:^;= -I)
74CXX_FLAGS_EXE=$(CXX_FLAGS: = ) -Zmt -Zexe
75CXX_FLAGS_DLL=$(CXX_FLAGS: = ) -Zmt -Zdll
76CXX_FLAGS_SYS=$(CXX_FLAGS: = ) -DRING0 -mno-probe -Zno-rte -fno-exceptions
77CXX_FLAGS_VDD=$(CXX_FLAGS_SYS: = )
78CXX_FLAGS_IFS=$(CXX_FLAGS_SYS: = ) -Zdll
79CXX_OBJ_OUT=-o$(SPACE:_= )
80#CXX_LST_OUT=-S -o$(SPACE:_= )
81CXX_PC_2_STDOUT=-C -E
[8717]82CXX_AS_2_FILE=-S -o$(SPACE:_= )
[8358]83
[8423]84!if "$(CC_AS_CXX)" != ""
85! if "$(CXX_AS_CC)" != ""
86! if [@(ECHO) $(CLRERR)Error: Do you think you're smart? CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
87! endif
88! error
89! endif
90CC=g++
91CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
92CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
93CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
94CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
95CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
96!endif
97!if "$(CXX_AS_CC)" != ""
98! if [@(ECHO) $(CLRERR)Error: CXX_AS_CC is not supported by this compiler!$(CLRRST)]
99! endif
100! error
101!endif
102
[8358]103IMPLIB_FLAGS=/NOI /Nologo
104
[9120]105LINK_FLAGS=/nofree /nologo /de /map /linenumbers /NOIgnorecase /NOE /NOD /PACKCODE /PACKDATA
[8358]106LINK_FLAGS_EXE=$(LINK_FLAGS) /EXECutable /STACK:$(TARGET_STACKSIZE)
107LINK_FLAGS_DLL=$(LINK_FLAGS) /DLL
108LINK_FLAGS_SYS=$(LINK_FLAGS) /PDD /Align:16
109LINK_FLAGS_VDD=$(LINK_FLAGS) /VDD /Align:16
110LINK_FLAGS_IFS=$(LINK_FLAGS_DLL)
111LINK_CMD_EXE=$(LINK) $(LINK_FLAGS_EXE) crt0.obj @$(TARGET_LNK)
112LINK_CMD_DLL=$(LINK) $(LINK_FLAGS_DLL) dll0.obj @$(TARGET_LNK)
113LINK_CMD_SYS=$(LINK) $(LINK_FLAGS_SYS) crt0.obj @$(TARGET_LNK)
114LINK_CMD_VDD=$(LINK) $(LINK_FLAGS_VDD) crt0.obj @$(TARGET_LNK)
115LINK_CMD_IFS=$(LINK) $(LINK_FLAGS_IFS) dll0.obj @$(TARGET_LNK)
116LINK_LNK1=$(TARGET_OBJS: =+^
117),
118LINK_LNK2=$(TARGET),
119LINK_LNK3=$(TARGET_MAP),
120LINK_LNK4=$(TARGET_LIBS: =+^
121) end.lib,
122LINK_LNK5=$(TARGET_DEF_LINK)
123
[8423]124RC_FLAGS=-r -n $(RC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(RC_INCLUDES:-I=-i ) $(ALL_INCLUDES:-I=-i ) -i $(PATH_INCLUDES:;= -i )
[8358]125RL_FLAGS=-x2 -n
126
127#
128# Libraries and object files.
129#
130LIB_OS = os2386.lib
131LIB_C_OBJ = c_alias.lib gcc.lib g.lib c.lib c_app.lib c.lib gcc.lib emx.lib os2.lib emx2.lib
132LIB_C_DLL = c_alias.lib c_static.lib c_import.lib os2.lib emx2.lib
133LIB_C_RTDLL = c_alias.lib c_static.lib emx2.lib
134LIB_C_NRE = c_alias.lib gcc.lib g.lib c.lib c_dllnrt.lib os2.lib
135LIB_C_DMNGL =
136OBJ_PROFILE =
137
138# ---OS2, PROFILE, EMX----------------------------
139
Note: See TracBrowser for help on using the repository browser.