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