| 1 | # $Id: setup.os2debmscv6-16.mk,v 1.6 2002-08-20 21:16:48 bird Exp $
|
|---|
| 2 |
|
|---|
| 3 | # ---OS2, DEBUG, MSCV6-------------------------
|
|---|
| 4 | ENV_NAME="OS/2, Debug, Microsoft C v6.0a 16-bit"
|
|---|
| 5 | ENV_STATUS=OK
|
|---|
| 6 | !if "$(ENV_ENVS)" == ""
|
|---|
| 7 | ENV_ENVS=vac308 mscv6-16
|
|---|
| 8 | !else
|
|---|
| 9 | ENV_ENVS_FORCE=vac308 mscv6-16
|
|---|
| 10 | !endif
|
|---|
| 11 | SPACE=_
|
|---|
| 12 | ENV_16BIT = 16
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 | #
|
|---|
| 16 | # Include some shared standard stuff: ALP.
|
|---|
| 17 | #
|
|---|
| 18 | !include $(PATH_MAKE)\setup.os2debalp.mk
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 | #
|
|---|
| 22 | # The tools
|
|---|
| 23 | #
|
|---|
| 24 | AR=ilib.exe
|
|---|
| 25 | CC=cl.exe
|
|---|
| 26 | CXX=false
|
|---|
| 27 | LINK=ilink.exe
|
|---|
| 28 | IMPLIB=implib.exe
|
|---|
| 29 | RC=rc.exe
|
|---|
| 30 | RL=rc.exe
|
|---|
| 31 | EXEPACK=lxlite.exe
|
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 | #
|
|---|
| 35 | # The flags
|
|---|
| 36 | #
|
|---|
| 37 | AR_FLAGS=/nologo /noignorecase
|
|---|
| 38 | AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
|
|---|
| 39 | AR_LNK1= "$(@R).$(EXT_LIB)"
|
|---|
| 40 | AR_LNK2=y
|
|---|
| 41 | _AR_LNK3= +"$(TARGET_OBJS: ="&^
|
|---|
| 42 | +")"
|
|---|
| 43 | AR_LNK3= $(_AR_LNK3:+""&^
|
|---|
| 44 | =)
|
|---|
| 45 | AR_LNK4= "$(@R).lst";
|
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 | #
|
|---|
| 49 | # C Compiler flags.
|
|---|
| 50 | #
|
|---|
| 51 | _CC_SEG_TEXT =
|
|---|
| 52 | _CC_SEG_DATA =
|
|---|
| 53 | _CC_SEG_XCPT =
|
|---|
| 54 | _CC_DEFAULT_LIBS = /Zl
|
|---|
| 55 | _CC_PACK = /Zp
|
|---|
| 56 | _CC_MODEL = /Asfw
|
|---|
| 57 | _OBJ_MODEL = c
|
|---|
| 58 |
|
|---|
| 59 | !ifdef ALL_SEG_TEXT
|
|---|
| 60 | _CC_SEG_TEXT=/NT$(ALL_SEG_TEXT)
|
|---|
| 61 | !endif
|
|---|
| 62 | !ifdef CC_SEG_TEXT
|
|---|
| 63 | _CC_SEG_TEXT=/NT$(CC_SEG_TEXT)
|
|---|
| 64 | !endif
|
|---|
| 65 | !ifdef ALL_SEG_DATA
|
|---|
| 66 | _CC_SEG_DATA=/ND$(ALL_SEG_TEXT)
|
|---|
| 67 | !endif
|
|---|
| 68 | !ifdef CC_SEG_DATA
|
|---|
| 69 | _CC_SEG_DATA=/ND$(CC_SEG_TEXT)
|
|---|
| 70 | !endif
|
|---|
| 71 | !if defined(CC_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
|
|---|
| 72 | _CC_DEFAULT_LIBS =
|
|---|
| 73 | !endif
|
|---|
| 74 | !ifdef ALL_PACK
|
|---|
| 75 | _CC_PACK = /Zp$(ALL_PACK)
|
|---|
| 76 | !endif
|
|---|
| 77 | !ifdef CC_PACK
|
|---|
| 78 | _CC_PACK = /Zp$(CC_PACK)
|
|---|
| 79 | !endif
|
|---|
| 80 | # Model
|
|---|
| 81 | !if !defined(CC_MODEL) && defined(ALL_MODEL)
|
|---|
| 82 | CC_MODEL = $(ALL_MODEL)
|
|---|
| 83 | !endif
|
|---|
| 84 | !ifdef CC_MODEL
|
|---|
| 85 | _CC_MODEL =
|
|---|
| 86 | !endif
|
|---|
| 87 | !if "$(CC_MODEL)" == "TINY"
|
|---|
| 88 | _CC_MODEL = /AT
|
|---|
| 89 | _OBJ_MODEL = s
|
|---|
| 90 | !endif
|
|---|
| 91 | !if "$(CC_MODEL)" == "SMALL"
|
|---|
| 92 | _CC_MODEL = /AS
|
|---|
| 93 | _OBJ_MODEL = s
|
|---|
| 94 | !endif
|
|---|
| 95 | !if "$(CC_MODEL)" == "COMPACT"
|
|---|
| 96 | _CC_MODEL = /AC
|
|---|
| 97 | _OBJ_MODEL = c
|
|---|
| 98 | !endif
|
|---|
| 99 | !if "$(CC_MODEL)" == "MEDIUM"
|
|---|
| 100 | _CC_MODEL = /AM
|
|---|
| 101 | _OBJ_MODEL = m
|
|---|
| 102 | !endif
|
|---|
| 103 | !if "$(CC_MODEL)" == "LARGE"
|
|---|
| 104 | _CC_MODEL = /AL
|
|---|
| 105 | _OBJ_MODEL = l
|
|---|
| 106 | !endif
|
|---|
| 107 | !if "$(CC_MODEL)" == "HUGE"
|
|---|
| 108 | _CC_MODEL = /AH
|
|---|
| 109 | _OBJ_MODEL = l
|
|---|
| 110 | !endif
|
|---|
| 111 | !if "$(_CC_MODEL)" == ""
|
|---|
| 112 | ! error Invalid MODEL. CC_MODEL=$(CC_MODEL)
|
|---|
| 113 | !endif
|
|---|
| 114 |
|
|---|
| 115 | _CC_OPTIONAL = $(_CC_SEG_TEXT) $(_CC_SEG_DATA) $(_CC_SEG_XCPT) $(_CC_DEFAULT_LIBS) $(_CC_PACK) $(_CC_MODEL)
|
|---|
| 116 |
|
|---|
| 117 | CC_FLAGS=/nologo /c /DDEBUG /DOS2 /D__16BIT__ /W0 /G2s /Zi /Owis $(_CC_OPTIONAL) $(CC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(CC_INCLUDES) $(ALL_INCLUDES) /I$(PATH_INCLUDES)
|
|---|
| 118 | CC_FLAGS_EXE=$(CC_FLAGS)
|
|---|
| 119 | CC_FLAGS_DLL=$(CC_FLAGS)
|
|---|
| 120 | CC_FLAGS_SYS=$(CC_FLAGS) /DRING0
|
|---|
| 121 | CC_FLAGS_IFS=$(CC_FLAGS_SYS)
|
|---|
| 122 | CC_OBJ_OUT=/Fo
|
|---|
| 123 | CC_LST_OUT=/Fa
|
|---|
| 124 | CC_PC_2_STDOUT=/P /E
|
|---|
| 125 |
|
|---|
| 126 | CXX_FLAGS=
|
|---|
| 127 | CXX_FLAGS_EXE=
|
|---|
| 128 | CXX_FLAGS_DLL=
|
|---|
| 129 | CXX_FLAGS_SYS=
|
|---|
| 130 | CC_FLAGS_IFS=
|
|---|
| 131 | CXX_OBJ_OUT=
|
|---|
| 132 | CXX_PC_2_STDOUT=
|
|---|
| 133 |
|
|---|
| 134 | !if "$(CC_AS_CXX)" != ""
|
|---|
| 135 | ! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX is not supported by this compiler!$(CLRRST)]
|
|---|
| 136 | ! endif
|
|---|
| 137 | ! error
|
|---|
| 138 | !endif
|
|---|
| 139 | !if "$(CXX_AS_CC)" != ""
|
|---|
| 140 | ! if [@(ECHO) $(CLRERR)Error: CXX_AS_CC is not supported by this compiler!$(CLRRST)]
|
|---|
| 141 | ! endif
|
|---|
| 142 | ! error
|
|---|
| 143 | !endif
|
|---|
| 144 |
|
|---|
| 145 | IMPLIB_FLAGS=/NOI /Nologo
|
|---|
| 146 |
|
|---|
| 147 | LINK_FLAGS=/nofree /nologo /de /map /linenumbers /NOIgnorecase /NOE /NOD /Optfunc /PACKCODE /PACKDATA
|
|---|
| 148 | LINK_FLAGS_EXE=$(LINK_FLAGS) /EXECutable /STACK:$(TARGET_STACKSIZE)
|
|---|
| 149 | LINK_FLAGS_DLL=$(LINK_FLAGS) /DLL
|
|---|
| 150 | LINK_FLAGS_SYS=$(LINK_FLAGS) /PDD /Align:16
|
|---|
| 151 | LINK_FLAGS_VDD=$(LINK_FLAGS) /VDD /Align:16
|
|---|
| 152 | LINK_FLAGS_IFS=$(LINK_FLAGS_DLL)
|
|---|
| 153 | LINK_CMD_EXE=$(LINK) $(LINK_FLAGS_EXE) @"$(TARGET_LNK)"
|
|---|
| 154 | LINK_CMD_DLL=$(LINK) $(LINK_FLAGS_DLL) @"$(TARGET_LNK)"
|
|---|
| 155 | LINK_CMD_SYS=$(LINK) $(LINK_FLAGS_SYS) @"$(TARGET_LNK)"
|
|---|
| 156 | LINK_CMD_VDD=$(LINK) $(LINK_FLAGS_VDD) @"$(TARGET_LNK)"
|
|---|
| 157 | LINK_CMD_IFS=$(LINK) $(LINK_FLAGS_IFS) @"$(TARGET_LNK)"
|
|---|
| 158 | LINK_LNK1=$(TARGET_OBJS: =+^
|
|---|
| 159 | ),
|
|---|
| 160 | LINK_LNK2=$(TARGET),
|
|---|
| 161 | LINK_LNK3=$(TARGET_MAP),
|
|---|
| 162 | LINK_LNK4=$(TARGET_LIBS: =+^
|
|---|
| 163 | ),
|
|---|
| 164 | LINK_LNK5=$(TARGET_DEF_LINK)
|
|---|
| 165 |
|
|---|
| 166 | RC_FLAGS=-r -n $(RC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(RC_INCLUDES:-I=-i ) $(ALL_INCLUDES:-I=-i ) -i $(PATH_INCLUDES:;= -i )
|
|---|
| 167 | RL_FLAGS=-x2 -n
|
|---|
| 168 |
|
|---|
| 169 |
|
|---|
| 170 | #
|
|---|
| 171 | # Libraries and object files.
|
|---|
| 172 | #
|
|---|
| 173 | !if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
|
|---|
| 174 | _LIB_TYP = dll
|
|---|
| 175 | !else
|
|---|
| 176 | _LIB_TYP = ep
|
|---|
| 177 | !endif
|
|---|
| 178 | LIB_OS = os2286.lib
|
|---|
| 179 | LIB_C_OBJ = $(_OBJ_MODEL)libc$(_LIB_TYP).lib
|
|---|
| 180 | LIB_C_DLL = $(_OBJ_MODEL)libc$(_LIB_TYP).lib
|
|---|
| 181 | LIB_C_RTDLL = $(_OBJ_MODEL)libc$(_LIB_TYP).lib
|
|---|
| 182 | LIB_C_NRE =
|
|---|
| 183 | LIB_C_DMNGL =
|
|---|
| 184 | OBJ_PROFILE =
|
|---|
| 185 |
|
|---|
| 186 | # ---OS2, DEBUG, MSCV6-------------------------
|
|---|
| 187 |
|
|---|