1 | # $Id: setup.os2debemx.mk,v 1.8 2002-08-28 03:42:43 bird Exp $
|
---|
2 |
|
---|
3 | # ---OS2, DEBUG, EMX----------------------------
|
---|
4 | ENV_NAME="OS/2, Debug, EMX/GCC Compiler"
|
---|
5 | ENV_STATUS=OK
|
---|
6 | !if "$(ENV_ENVS)" == ""
|
---|
7 | ENV_ENVS=vac308 emx emxpgcc
|
---|
8 | !else
|
---|
9 | ENV_ENVS_FORCE=vac308 emx emxpgcc
|
---|
10 | !endif
|
---|
11 | SPACE=_
|
---|
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.os2debrc.mk
|
---|
27 | !include $(PATH_MAKE)\setup.os2debwrc.mk
|
---|
28 | _LD_LAST_LIB = end.$(EXT_LIB)
|
---|
29 | !include $(PATH_MAKE)\setup.os2debilink.mk
|
---|
30 | !include $(PATH_MAKE)\setup.optional.emx.mk
|
---|
31 |
|
---|
32 |
|
---|
33 | #
|
---|
34 | # The tools
|
---|
35 | #
|
---|
36 | !if 1
|
---|
37 | AR=ilib.exe
|
---|
38 | !else
|
---|
39 | AR=lib.exe
|
---|
40 | !endif
|
---|
41 | CC=gcc.exe
|
---|
42 | CXX=gcc.exe
|
---|
43 | IMPLIB=implib.exe
|
---|
44 |
|
---|
45 |
|
---|
46 | #
|
---|
47 | # The flags
|
---|
48 | #
|
---|
49 | AR_FLAGS=/nologo /noignorecase
|
---|
50 | !if 1
|
---|
51 | AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
|
---|
52 | AR_LNK1= "$(@R).$(EXT_LIB)"
|
---|
53 | AR_LNK2=y
|
---|
54 | _AR_LNK3= +"$(TARGET_OBJS: ="&^
|
---|
55 | +")"
|
---|
56 | AR_LNK3= $(_AR_LNK3:+""&^
|
---|
57 | =)
|
---|
58 | AR_LNK4= "$(@R).lst";
|
---|
59 | !else
|
---|
60 | _AR_LNK1= $(TARGET), ^
|
---|
61 | +"$(TARGET_OBJS: ="+^
|
---|
62 | ")"
|
---|
63 | AR_LNK1= $(_AR_LNK1:""=)
|
---|
64 | AR_LNK2= $(@R).lst
|
---|
65 | !endif
|
---|
66 |
|
---|
67 | CC_FLAGS=-c -DDEBUG -DOS2 -D__32BIT__ -DMODEL=FLAT -Zomf -Wall -Wstrict-prototypes -Wno-trigraphs \
|
---|
68 | -fno-common -march=i586 -g $(_CC_OPTIONAL) \
|
---|
69 | $(CC_DEFINES:/D=-D) $(ALL_DEFINES:/D=-D) $(BUILD_DEFINES:/D=-D) $(CC_INCLUDES:^;= -I) $(ALL_INCLUDES:^;= -I) -I$(PATH_INCLUDES:^;= -I)
|
---|
70 | CC_FLAGS_EXE=$(CC_FLAGS: = ) -Zmt -Zexe
|
---|
71 | CC_FLAGS_DLL=$(CC_FLAGS: = ) -Zmt -Zdll
|
---|
72 | CC_FLAGS_SYS=$(CC_FLAGS: = ) -DRING0 -mno-probe -Zdll -Zno-rte
|
---|
73 | CC_FLAGS_VDD=$(CC_FLAGS_SYS: = )
|
---|
74 | CC_FLAGS_IFS=$(CC_FLAGS_SYS: = ) -Zdll
|
---|
75 | CC_OBJ_OUT=-o$(SPACE:_= )
|
---|
76 | #CC_LST_OUT=-S -o$(SPACE:_= )
|
---|
77 | CC_PC_2_STDOUT=-C -E
|
---|
78 | CC_AS_2_FILE=-S -o$(SPACE:_= )
|
---|
79 |
|
---|
80 |
|
---|
81 | CXX_FLAGS=-c -DDEBUG -DOS2 -D__32BIT__ -DMODEL=FLAT -Zomf -Wall -Wstrict-prototypes -Wno-trigraphs \
|
---|
82 | -fno-common -march=i586 -g $(_CXX_OPTIONAL) \
|
---|
83 | $(CXX_DEFINES:/D=-D) $(ALL_DEFINES:/D=-D) $(BUILD_DEFINES:/D=-D) $(CXX_INCLUDES:^;= -I) $(ALL_INCLUDES:^;= -I) -I$(PATH_INCLUDES:^;= -I)
|
---|
84 | CXX_FLAGS_EXE=$(CXX_FLAGS: = ) -Zmt -Zexe
|
---|
85 | CXX_FLAGS_DLL=$(CXX_FLAGS: = ) -Zmt -Zdll
|
---|
86 | CXX_FLAGS_SYS=$(CXX_FLAGS: = ) -DRING0 -mno-probe -Zno-rte -fno-exceptions
|
---|
87 | CXX_FLAGS_VDD=$(CXX_FLAGS_SYS: = )
|
---|
88 | CXX_FLAGS_IFS=$(CXX_FLAGS_SYS: = ) -Zdll
|
---|
89 | CXX_OBJ_OUT=-o$(SPACE:_= )
|
---|
90 | #CXX_LST_OUT=-S -o$(SPACE:_= )
|
---|
91 | CXX_PC_2_STDOUT=-C -E
|
---|
92 | CXX_AS_2_FILE=-S -o$(SPACE:_= )
|
---|
93 |
|
---|
94 | !if "$(CC_AS_CXX)" != ""
|
---|
95 | ! if "$(CXX_AS_CC)" != ""
|
---|
96 | ! if [@(ECHO) $(CLRERR)Error: Do you think you're smart? CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
|
---|
97 | ! endif
|
---|
98 | ! error
|
---|
99 | ! endif
|
---|
100 | CC=g++
|
---|
101 | CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
|
---|
102 | CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
|
---|
103 | CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
|
---|
104 | CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
|
---|
105 | CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
|
---|
106 | !endif
|
---|
107 | !if "$(CXX_AS_CC)" != ""
|
---|
108 | ! if [@(ECHO) $(CLRERR)Error: CXX_AS_CC is not supported by this compiler!$(CLRRST)]
|
---|
109 | ! endif
|
---|
110 | ! error
|
---|
111 | !endif
|
---|
112 |
|
---|
113 | IMPLIB_FLAGS=/NOI /Nologo
|
---|
114 |
|
---|
115 |
|
---|
116 | #
|
---|
117 | # Libraries and object files.
|
---|
118 | #
|
---|
119 | LIB_OS = os2386.lib
|
---|
120 | LIB_C_OBJ = c_alias.lib gcc.lib g.lib c.lib c_app.lib c.lib gcc.lib emx.lib os2.lib emx2.lib
|
---|
121 | LIB_C_DLL = c_alias.lib c_static.lib c_import.lib os2.lib emx2.lib
|
---|
122 | LIB_C_RTDLL = c_alias.lib c_static.lib emx2.lib
|
---|
123 | LIB_C_NRE = c_alias.lib gcc.lib g.lib c.lib c_dllnrt.lib os2.lib
|
---|
124 | LIB_C_DMNGL =
|
---|
125 | OBJ_PROFILE =
|
---|
126 |
|
---|
127 | # ---OS2, DEBUG, EMX----------------------------
|
---|
128 |
|
---|