[9129] | 1 | # $Id: setup.os2debemx.mk,v 1.6 2002-08-24 22:33:11 bird Exp $
|
---|
[8358] | 2 |
|
---|
| 3 | # ---OS2, DEBUG, EMX----------------------------
|
---|
| 4 | ENV_NAME="OS/2, Debug, EMX/GCC Compiler"
|
---|
| 5 | ENV_STATUS=OK
|
---|
| 6 | !if "$(ENV_ENVS)" == ""
|
---|
[8423] | 7 | ENV_ENVS=vac308 emx emxpgcc
|
---|
[8358] | 8 | !else
|
---|
[8423] | 9 | ENV_ENVS_FORCE=vac308 emx emxpgcc
|
---|
[8358] | 10 | !endif
|
---|
| 11 | SPACE=_
|
---|
[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.os2debalp.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 | #
|
---|
[8423] | 33 | !if 1
|
---|
[8358] | 34 | AR=ilib.exe
|
---|
[8423] | 35 | !else
|
---|
| 36 | AR=lib.exe
|
---|
| 37 | !endif
|
---|
[8358] | 38 | CC=gcc.exe
|
---|
| 39 | CXX=gcc.exe
|
---|
| 40 | LINK=ilink.exe
|
---|
| 41 | IMPLIB=implib.exe
|
---|
| 42 | RC=rc.exe
|
---|
| 43 | RL=rc.exe
|
---|
| 44 |
|
---|
| 45 |
|
---|
| 46 | #
|
---|
| 47 | # The flags
|
---|
| 48 | #
|
---|
| 49 | AR_FLAGS=/nologo /noignorecase
|
---|
[8423] | 50 | !if 1
|
---|
[9060] | 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";
|
---|
[8423] | 59 | !else
|
---|
| 60 | _AR_LNK1= $(TARGET), ^
|
---|
| 61 | +"$(TARGET_OBJS: ="+^
|
---|
| 62 | ")"
|
---|
[8358] | 63 | AR_LNK1= $(_AR_LNK1:""=)
|
---|
| 64 | AR_LNK2= $(@R).lst
|
---|
[9060] | 65 | !endif
|
---|
[8358] | 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
|
---|
[8717] | 78 | CC_AS_2_FILE=-S -o$(SPACE:_= )
|
---|
[8358] | 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
|
---|
[8717] | 92 | CXX_AS_2_FILE=-S -o$(SPACE:_= )
|
---|
[8358] | 93 |
|
---|
[8423] | 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 |
|
---|
[8358] | 113 | IMPLIB_FLAGS=/NOI /Nologo
|
---|
| 114 |
|
---|
[9120] | 115 | LINK_FLAGS=/nofree /nologo /de /map /linenumbers /NOIgnorecase /NOE /NOD /PACKCODE /PACKDATA
|
---|
[8358] | 116 | LINK_FLAGS_EXE=$(LINK_FLAGS) /EXECutable /STACK:$(TARGET_STACKSIZE)
|
---|
| 117 | LINK_FLAGS_DLL=$(LINK_FLAGS) /DLL
|
---|
| 118 | LINK_FLAGS_SYS=$(LINK_FLAGS) /PDD /Align:16
|
---|
| 119 | LINK_FLAGS_VDD=$(LINK_FLAGS) /VDD /Align:16
|
---|
| 120 | LINK_FLAGS_IFS=$(LINK_FLAGS_DLL)
|
---|
| 121 | LINK_CMD_EXE=$(LINK) $(LINK_FLAGS_EXE) crt0.obj @$(TARGET_LNK)
|
---|
| 122 | LINK_CMD_DLL=$(LINK) $(LINK_FLAGS_DLL) dll0.obj @$(TARGET_LNK)
|
---|
| 123 | LINK_CMD_SYS=$(LINK) $(LINK_FLAGS_SYS) crt0.obj @$(TARGET_LNK)
|
---|
| 124 | LINK_CMD_VDD=$(LINK) $(LINK_FLAGS_VDD) crt0.obj @$(TARGET_LNK)
|
---|
| 125 | LINK_CMD_IFS=$(LINK) $(LINK_FLAGS_IFS) dll0.obj @$(TARGET_LNK)
|
---|
| 126 | LINK_LNK1=$(TARGET_OBJS: =+^
|
---|
| 127 | ),
|
---|
| 128 | LINK_LNK2=$(TARGET),
|
---|
| 129 | LINK_LNK3=$(TARGET_MAP),
|
---|
| 130 | LINK_LNK4=$(TARGET_LIBS: =+^
|
---|
| 131 | ) end.lib,
|
---|
| 132 | LINK_LNK5=$(TARGET_DEF_LINK)
|
---|
| 133 |
|
---|
[8423] | 134 | RC_FLAGS=-r -n $(RC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(RC_INCLUDES:-I=-i ) $(ALL_INCLUDES:-I=-i ) -i $(PATH_INCLUDES:;= -i )
|
---|
[8358] | 135 | RL_FLAGS=-x2 -n
|
---|
| 136 |
|
---|
| 137 | #
|
---|
| 138 | # Libraries and object files.
|
---|
| 139 | #
|
---|
| 140 | LIB_OS = os2386.lib
|
---|
| 141 | 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
|
---|
| 142 | LIB_C_DLL = c_alias.lib c_static.lib c_import.lib os2.lib emx2.lib
|
---|
| 143 | LIB_C_RTDLL = c_alias.lib c_static.lib emx2.lib
|
---|
| 144 | LIB_C_NRE = c_alias.lib gcc.lib g.lib c.lib c_dllnrt.lib os2.lib
|
---|
| 145 | LIB_C_DMNGL =
|
---|
| 146 | OBJ_PROFILE =
|
---|
| 147 |
|
---|
| 148 | # ---OS2, DEBUG, EMX----------------------------
|
---|
| 149 |
|
---|