Changeset 723


Ignore:
Timestamp:
Dec 15, 2006, 3:54:52 AM (19 years ago)
Author:
bird
Message:

Kicked the gnumake compatibility crap into separate files to speed things up. Added a slow stack implementation.

Location:
trunk/kBuild
Files:
2 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/footer.kmk

    r719 r723  
    210210
    211211#
     212# Include the additional footer macros when bootstrapping kBuild.
     213#
     214ifndef KMK_VERSION
     215 include $(PATH_KBUILD)/gnumake-footer.kmk
     216endif
     217
     218
     219
     220#
    212221# Check syntax which leads to weird syntax errors.
    213222#
     
    10071016## wrapper the compile command dependency check.
    10081017ifndef NO_COMPILE_CMDS_DEPS
    1009  ifneq ($(filter comp-vars,$(KMK_FEATURES)),)
    10101018_DEP_COMPILE_CMDS = $(comp-vars $(target)_$(source)_CMDS_PREV_,$(target)_$(source)_CMDS_,FORCE)
    1011  else
    1012 _DEP_COMPILE_CMDS = $(if $(subst $(strip $($(target)_$(source)_CMDS_PREV_)),,$(strip $($(target)_$(source)_CMDS_))),FORCE,)
    1013  endif
    10141019else
    10151020_DEP_COMPILE_CMDS =
     
    10481053## wrapper the link command dependency check.
    10491054ifndef NO_COMPILE_CMDS_DEPS
    1050  ifneq ($(filter comp-vars,$(KMK_FEATURES)),)
    10511055_DEP_LINK_CMDS = $(comp-vars $(target)_CMDS_PREV_,$(target)_CMDS_,FORCE)
    1052  else
    1053 _DEP_LINK_CMDS = $(if $(subst $(strip $($(target)_CMDS_PREV_)),,$(strip $($(target)_CMDS_))),FORCE,)
    1054  endif
    10551056else
    10561057_DEP_LINK_CMDS =
     
    11091110
    11101111
    1111 
    11121112## Generic macro for processing C, C++ and Assembly sources.
    11131113# @param    $(target)     Normalized target name.
     
    11181118# @param    bld_trg_arch  Build target arch.
    11191119# @param    bld_trg_cpu   Build target cpu.
    1120 # @remark       obsoleted by kBuild helpers in kmk. Only required for limited gmake compatbility.
    1121 #
    1122 define def_target_source_c_cpp_asm_rc_old
    1123 #$ (warning dbg: def_target_source_c_cpp_asm_rc_old: source='$(source)' target='$(target)' type='$(type)')
    1124 
    1125 tool := $(call _SOURCE_TOOL,$(source),$(target),$(type))
    1126 outbase     := $(call _OBJECT_BASE,$(source),$(target))
    1127 PATH_$(target)_$(source) := $(patsubst %/,%,$(dir $(outbase)))
    1128 dirdep      := $(call DIRDEP,$(dir $(outbase)))
    1129 defs        :=\
    1130         $(TOOL_$(tool)_DEFS)\
    1131         $(TOOL_$(tool)_DEFS.$(bld_type))\
    1132         $(TOOL_$(tool)_DEFS.$(bld_trg))\
    1133         $(TOOL_$(tool)_DEFS.$(bld_trg_arch))\
    1134         $(TOOL_$(tool)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1135         $(TOOL_$(tool)_DEFS.$(bld_trg_cpu))\
    1136         $(TOOL_$(tool)_$(type)DEFS)\
    1137         $(TOOL_$(tool)_$(type)DEFS.$(bld_type))\
    1138         $(foreach sdk, $(SDKS.$(bld_trg).$(bld_trg_arch)) \
    1139                        $(SDKS.$(bld_trg_arch)) \
    1140                        $(SDKS.$(bld_trg)) \
    1141                        $(SDKS.$(bld_type)) \
    1142                        $(SDKS),\
    1143                 $(SDK_$(sdk)_DEFS)\
    1144                 $(SDK_$(sdk)_DEFS.$(bld_type))\
    1145                 $(SDK_$(sdk)_DEFS.$(bld_trg))\
    1146                 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
    1147                 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1148                 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
    1149                 $(SDK_$(sdk)_$(type)DEFS)\
    1150                 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
    1151                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
    1152                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
    1153                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1154                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
    1155         $(DEFS)\
    1156         $(DEFS.$(bld_type))\
    1157         $(DEFS.$(bld_trg))\
    1158         $(DEFS.$(bld_trg_arch))\
    1159         $(DEFS.$(bld_trg).$(bld_trg_arch))\
    1160         $(DEFS.$(bld_trg_cpu))\
    1161         $($(type)DEFS)\
    1162         $($(type)DEFS.$(bld_type))\
    1163         $($(type)DEFS.$(bld_trg))\
    1164         $($(type)DEFS.$(bld_trg_arch))\
    1165         $($(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1166         $($(type)DEFS.$(bld_trg_cpu))\
    1167         $(foreach sdk, $($(target)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1168                        $($(target)_SDKS.$(bld_trg_arch)) \
    1169                        $($(target)_SDKS.$(bld_trg)) \
    1170                        $($(target)_SDKS.$(bld_type)) \
    1171                        $($(target)_SDKS),\
    1172                 $(SDK_$(sdk)_DEFS)\
    1173                 $(SDK_$(sdk)_DEFS.$(bld_type))\
    1174                 $(SDK_$(sdk)_DEFS.$(bld_trg))\
    1175                 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
    1176                 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1177                 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
    1178                 $(SDK_$(sdk)_$(type)DEFS)\
    1179                 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
    1180                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
    1181                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
    1182                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1183                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
    1184         $($(target)_DEFS)\
    1185         $($(target)_DEFS.$(bld_type))\
    1186         $($(target)_DEFS.$(bld_trg))\
    1187         $($(target)_DEFS.$(bld_trg_arch))\
    1188         $($(target)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1189         $($(target)_DEFS.$(bld_trg_cpu))\
    1190         $($(target)_$(type)DEFS)\
    1191         $($(target)_$(type)DEFS.$(bld_type))\
    1192         $($(target)_$(type)DEFS.$(bld_trg))\
    1193         $($(target)_$(type)DEFS.$(bld_trg_arch))\
    1194         $($(target)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1195         $($(target)_$(type)DEFS.$(bld_trg_cpu))\
    1196         $(foreach sdk, $($(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1197                        $($(source)_SDKS.$(bld_trg_arch)) \
    1198                        $($(source)_SDKS.$(bld_trg)) \
    1199                        $($(source)_SDKS.$(bld_type)) \
    1200                        $($(source)_SDKS),\
    1201                 $(SDK_$(sdk)_DEFS)\
    1202                 $(SDK_$(sdk)_DEFS.$(bld_type))\
    1203                 $(SDK_$(sdk)_DEFS.$(bld_trg))\
    1204                 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
    1205                 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1206                 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
    1207                 $(SDK_$(sdk)_$(type)DEFS)\
    1208                 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
    1209                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
    1210                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
    1211                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1212                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
    1213         $($(source)_DEFS)\
    1214         $($(source)_DEFS.$(bld_type))\
    1215         $($(source)_DEFS.$(bld_trg))\
    1216         $($(source)_DEFS.$(bld_trg_arch))\
    1217         $($(source)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1218         $($(source)_DEFS.$(bld_trg_cpu))\
    1219         $($(source)_$(type)DEFS)\
    1220         $($(source)_$(type)DEFS.$(bld_type))\
    1221         $($(source)_$(type)DEFS.$(bld_trg))\
    1222         $($(source)_$(type)DEFS.$(bld_trg_arch))\
    1223         $($(source)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1224         $($(source)_$(type)DEFS.$(bld_trg_cpu))\
    1225         $(foreach sdk, $($(target)_$(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1226                        $($(target)_$(source)_SDKS.$(bld_trg_arch)) \
    1227                        $($(target)_$(source)_SDKS.$(bld_trg)) \
    1228                        $($(target)_$(source)_SDKS.$(bld_type)) \
    1229                        $($(target)_$(source)_SDKS),\
    1230                 $(SDK_$(sdk)_DEFS)\
    1231                 $(SDK_$(sdk)_DEFS.$(bld_type))\
    1232                 $(SDK_$(sdk)_DEFS.$(bld_trg))\
    1233                 $(SDK_$(sdk)_DEFS.$(bld_trg_arch))\
    1234                 $(SDK_$(sdk)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1235                 $(SDK_$(sdk)_DEFS.$(bld_trg_cpu))\
    1236                 $(SDK_$(sdk)_$(type)DEFS)\
    1237                 $(SDK_$(sdk)_$(type)DEFS.$(bld_type))\
    1238                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg))\
    1239                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_arch))\
    1240                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1241                 $(SDK_$(sdk)_$(type)DEFS.$(bld_trg_cpu)))\
    1242         $($(target)_$(source)_DEFS)\
    1243         $($(target)_$(source)_DEFS.$(bld_type))\
    1244         $($(target)_$(source)_DEFS.$(bld_trg))\
    1245         $($(target)_$(source)_DEFS.$(bld_trg_arch))\
    1246         $($(target)_$(source)_DEFS.$(bld_trg).$(bld_trg_arch))\
    1247         $($(target)_$(source)_DEFS.$(bld_trg_cpu))\
    1248         $($(target)_$(source)_$(type)DEFS)\
    1249         $($(target)_$(source)_$(type)DEFS.$(bld_type))\
    1250         $($(target)_$(source)_$(type)DEFS.$(bld_trg))\
    1251         $($(target)_$(source)_$(type)DEFS.$(bld_trg_arch))\
    1252         $($(target)_$(source)_$(type)DEFS.$(bld_trg).$(bld_trg_arch))\
    1253         $($(target)_$(source)_$(type)DEFS.$(bld_trg_cpu))
    1254 incs        :=\
    1255         $($(target)_$(source)_$(type)INCS.$(bld_trg_cpu))\
    1256         $($(target)_$(source)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1257         $($(target)_$(source)_$(type)INCS.$(bld_trg_arch))\
    1258         $($(target)_$(source)_$(type)INCS.$(bld_trg))\
    1259         $($(target)_$(source)_$(type)INCS.$(bld_type))\
    1260         $($(target)_$(source)_$(type)INCS)\
    1261         $($(target)_$(source)_INCS.$(bld_trg_cpu))\
    1262         $($(target)_$(source)_INCS.$(bld_trg).$(bld_trg_arch))\
    1263         $($(target)_$(source)_INCS.$(bld_trg_arch))\
    1264         $($(target)_$(source)_INCS.$(bld_trg))\
    1265         $($(target)_$(source)_INCS.$(bld_type))\
    1266         $($(target)_$(source)_INCS)\
    1267         $(foreach sdk, $($(target)_$(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1268                        $($(target)_$(source)_SDKS.$(bld_trg_arch)) \
    1269                        $($(target)_$(source)_SDKS.$(bld_trg)) \
    1270                        $($(target)_$(source)_SDKS.$(bld_type)) \
    1271                        $($(target)_$(source)_SDKS),\
    1272                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
    1273                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1274                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
    1275                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
    1276                 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
    1277                 $(SDK_$(sdk)_$(type)INCS)\
    1278                 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
    1279                 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
    1280                 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
    1281                 $(SDK_$(sdk)_INCS.$(bld_trg))\
    1282                 $(SDK_$(sdk)_INCS.$(bld_type))\
    1283                 $(SDK_$(sdk)_INCS))\
    1284         $($(source)_$(type)INCS.$(bld_trg_cpu))\
    1285         $($(source)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1286         $($(source)_$(type)INCS.$(bld_trg_arch))\
    1287         $($(source)_$(type)INCS.$(bld_trg))\
    1288         $($(source)_$(type)INCS.$(bld_type))\
    1289         $($(source)_$(type)INCS)\
    1290         $($(source)_INCS.$(bld_trg_cpu))\
    1291         $($(source)_INCS.$(bld_trg).$(bld_trg_arch))\
    1292         $($(source)_INCS.$(bld_trg_arch))\
    1293         $($(source)_INCS.$(bld_trg))\
    1294         $($(source)_INCS.$(bld_type))\
    1295         $($(source)_INCS)\
    1296         $(foreach sdk, $($(source)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1297                        $($(source)_SDKS.$(bld_trg_arch)) \
    1298                        $($(source)_SDKS.$(bld_trg)) \
    1299                        $($(source)_SDKS.$(bld_type)) \
    1300                        $($(source)_SDKS),\
    1301                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
    1302                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1303                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
    1304                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
    1305                 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
    1306                 $(SDK_$(sdk)_$(type)INCS)\
    1307                 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
    1308                 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
    1309                 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
    1310                 $(SDK_$(sdk)_INCS.$(bld_trg))\
    1311                 $(SDK_$(sdk)_INCS.$(bld_type))\
    1312                 $(SDK_$(sdk)_INCS))\
    1313         $($(target)_$(type)INCS.$(bld_trg_cpu))\
    1314         $($(target)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1315         $($(target)_$(type)INCS.$(bld_trg_arch))\
    1316         $($(target)_$(type)INCS.$(bld_trg))\
    1317         $($(target)_$(type)INCS.$(bld_type))\
    1318         $($(target)_$(type)INCS)\
    1319         $($(target)_INCS.$(bld_trg_cpu))\
    1320         $($(target)_INCS.$(bld_trg).$(bld_trg_arch))\
    1321         $($(target)_INCS.$(bld_trg_arch))\
    1322         $($(target)_INCS.$(bld_trg))\
    1323         $($(target)_INCS.$(bld_type))\
    1324         $($(target)_INCS)\
    1325         $(foreach sdk, $($(target)_SDKS.$(bld_trg).$(bld_trg_arch)) \
    1326                        $($(target)_SDKS.$(bld_trg_arch)) \
    1327                        $($(target)_SDKS.$(bld_trg)) \
    1328                        $($(target)_SDKS.$(bld_type)) \
    1329                        $($(target)_SDKS),\
    1330                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
    1331                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1332                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
    1333                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
    1334                 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
    1335                 $(SDK_$(sdk)_$(type)INCS)\
    1336                 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
    1337                 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
    1338                 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
    1339                 $(SDK_$(sdk)_INCS.$(bld_trg))\
    1340                 $(SDK_$(sdk)_INCS.$(bld_type))\
    1341                 $(SDK_$(sdk)_INCS))\
    1342         $(INCS.$(bld_trg_cpu))\
    1343         $(INCS.$(bld_trg).$(bld_trg_arch))\
    1344         $(INCS.$(bld_trg_arch))\
    1345         $(INCS.$(bld_trg))\
    1346         $(INCS.$(bld_type))\
    1347         $(INCS)\
    1348         $(foreach sdk, $(SDKS.$(bld_trg).$(bld_trg_arch)) \
    1349                        $(SDKS.$(bld_trg_arch)) \
    1350                        $(SDKS.$(bld_trg)) \
    1351                        $(SDKS.$(bld_type)) \
    1352                        $(SDKS),\
    1353                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_cpu))\
    1354                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1355                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg_arch))\
    1356                 $(SDK_$(sdk)_$(type)INCS.$(bld_trg))\
    1357                 $(SDK_$(sdk)_$(type)INCS.$(bld_type))\
    1358                 $(SDK_$(sdk)_$(type)INCS)\
    1359                 $(SDK_$(sdk)_INCS.$(bld_trg_cpu))\
    1360                 $(SDK_$(sdk)_INCS.$(bld_trg).$(bld_trg_arch))\
    1361                 $(SDK_$(sdk)_INCS.$(bld_trg_arch))\
    1362                 $(SDK_$(sdk)_INCS.$(bld_trg))\
    1363                 $(SDK_$(sdk)_INCS.$(bld_type))\
    1364                 $(SDK_$(sdk)_INCS))\
    1365         $(TOOL_$(tool)_$(type)INCS.$(bld_trg_cpu))\
    1366         $(TOOL_$(tool)_$(type)INCS.$(bld_trg).$(bld_trg_arch))\
    1367         $(TOOL_$(tool)_$(type)INCS.$(bld_trg_arch))\
    1368         $(TOOL_$(tool)_$(type)INCS.$(bld_trg))\
    1369         $(TOOL_$(tool)_$(type)INCS.$(bld_type))\
    1370         $(TOOL_$(tool)_$(type)INCS)
    1371 flags        :=\
    1372         $(TOOL_$(tool)_$(type)FLAGS)\
    1373         $(TOOL_$(tool)_$(type)FLAGS.$(bld_type))\
    1374         $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg))\
    1375         $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg_arch))\
    1376         $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
    1377         $(TOOL_$(tool)_$(type)FLAGS.$(bld_trg_cpu))\
    1378         $($(type)FLAGS)\
    1379         $($(type)FLAGS.$(bld_type))\
    1380         $($(type)FLAGS.$(bld_trg))\
    1381         $($(type)FLAGS.$(bld_trg_arch))\
    1382         $($(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
    1383         $($(type)FLAGS.$(bld_trg_cpu))\
    1384         $($(target)_$(type)FLAGS)\
    1385         $($(target)_$(type)FLAGS.$(bld_type))\
    1386         $($(target)_$(type)FLAGS.$(bld_trg))\
    1387         $($(target)_$(type)FLAGS.$(bld_trg_arch))\
    1388         $($(target)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
    1389         $($(target)_$(type)FLAGS.$(bld_trg_cpu))\
    1390         $($(source)_$(type)FLAGS)\
    1391         $($(source)_$(type)FLAGS.$(bld_type))\
    1392         $($(source)_$(type)FLAGS.$(bld_trg))\
    1393         $($(source)_$(type)FLAGS.$(bld_trg_arch))\
    1394         $($(source)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
    1395         $($(source)_$(type)FLAGS.$(bld_trg_cpu))\
    1396         $($(target)_$(source)_$(type)FLAGS)\
    1397         $($(target)_$(source)_$(type)FLAGS.$(bld_type))\
    1398         $($(target)_$(source)_$(type)FLAGS.$(bld_trg))\
    1399         $($(target)_$(source)_$(type)FLAGS.$(bld_trg_arch))\
    1400         $($(target)_$(source)_$(type)FLAGS.$(bld_trg).$(bld_trg_arch))\
    1401         $($(target)_$(source)_$(type)FLAGS.$(bld_trg_cpu))
    1402 # this isn't 100% in sync with kBuild, but it doesn't matter as it's only for gmake now.
    1403 objsuff     := $(firstword \
    1404         $($(target)_$(source)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
    1405         $($(target)_$(source)_OBJSUFF.$(bld_trg))\
    1406         $($(target)_$(source)_OBJSUFF)\
    1407         $($(source)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
    1408         $($(source)_OBJSUFF.$(bld_trg))\
    1409         $($(source)_OBJSUFF)\
    1410         $($(target)_OBJSUFF.$(bld_trg).$(bld_trg_arch))\
    1411         $($(target)_OBJSUFF.$(bld_trg))\
    1412         $($(target)_OBJSUFF)\
    1413         $(TOOL_$(tool)_$(type)OBJSUFF.$(bld_trg).$(bld_trg_arch))\
    1414         $(TOOL_$(tool)_$(type)OBJSUFF.$(bld_trg))\
    1415         $(TOOL_$(tool)_$(type)OBJSUFF)\
    1416         $(SUFF_OBJ))
    1417 obj         := $(outbase)$(objsuff)
    1418 deps        := \
    1419         $($(target)_$(source)_DEPS)\
    1420         $($(target)_$(source)_DEPS.$(bld_type))\
    1421         $($(target)_$(source)_DEPS.$(bld_trg))\
    1422         $($(target)_$(source)_DEPS.$(bld_trg_arch))\
    1423         $($(target)_$(source)_DEPS.$(bld_trg).$(bld_trg_arch))\
    1424         $($(target)_$(source)_DEPS.$(bld_trg_cpu))\
    1425         $($(source)_DEPS)\
    1426         $($(source)_DEPS.$(bld_type))\
    1427         $($(source)_DEPS.$(bld_trg))\
    1428         $($(source)_DEPS.$(bld_trg_arch))\
    1429         $($(source)_DEPS.$(bld_trg).$(bld_trg_arch))\
    1430         $($(source)_DEPS.$(bld_trg_cpu))\
    1431         $($(target)_DEPS)\
    1432         $($(target)_DEPS.$(bld_type))\
    1433         $($(target)_DEPS.$(bld_trg))\
    1434         $($(target)_DEPS.$(bld_trg_arch))\
    1435         $($(target)_DEPS.$(bld_trg).$(bld_trg_arch))\
    1436         $($(target)_DEPS.$(bld_trg_cpu))
    1437 
    1438 # dependencies
    1439 dep         := $(obj)$(SUFF_DEP)
    1440 ifndef NO_COMPILE_CMDS_DEPS
    1441 _DEPFILES_INCLUDED += $(dep)
    1442 $(if $(wildcard $(dep)),$(eval include $(dep)))
    1443 endif
    1444 
    1445 #$ (warning dbg: target=$(target) source=$(source) tool=$(tool) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
    1446 ifndef TOOL_$(tool)_COMPILE_$(type)_CMDS
    1447 $(warning kBuild: tools: \
    1448         1 $($(target)_$(source)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
    1449         2 $($(target)_$(source)_$(type)TOOL.$(bld_trg)) \
    1450         3 $($(target)_$(source)_$(type)TOOL) \
    1451         4 $($(target)_$(source)_TOOL.$(bld_trg).$(bld_trg_arch)) \
    1452         5 $($(target)_$(source)_TOOL.$(bld_trg)) \
    1453         6 $($(target)_$(source)_TOOL) \
    1454         7 $($(target)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
    1455         8 $($(target)_$(type)TOOL.$(bld_trg)) \
    1456         9 $($(target)_$(type)TOOL) \
    1457         10 $($(target)_TOOL.$(bld_trg).$(bld_trg_arch)) \
    1458         11 $($(target)_TOOL.$(bld_trg)) \
    1459         12 $($(target)_TOOL) \
    1460         13 $($(source)_$(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
    1461         14 $($(source)_$(type)TOOL.$(bld_trg)) \
    1462         15 $($(source)_$(type)TOOL) \
    1463         16 $($(source)_TOOL.$(bld_trg).$(bld_trg_arch)) \
    1464         17 $($(source)_TOOL.$(bld_trg)) \
    1465         18 $($(source)_TOOL) \
    1466         19 $($(type)TOOL.$(bld_trg).$(bld_trg_arch)) \
    1467         20 $($(type)TOOL.$(bld_trg)) \
    1468         21 $($(type)TOOL) \
    1469         22 $(TOOL.$(bld_trg).$(bld_trg_arch)) \
    1470         23 $(TOOL.$(bld_trg)) \
    1471         24 $(TOOL) )
    1472 $(error kBuild: TOOL_$(tool)_COMPILE_$(type)_CMDS is not defined. source=$(source) target=$(target) )
    1473 endif
    1474 
    1475 # call the tool
    1476 $(target)_$(source)_CMDS_   := $(TOOL_$(tool)_COMPILE_$(type)_CMDS)
    1477 $(target)_$(source)_OUTPUT_ := $(TOOL_$(tool)_COMPILE_$(type)_OUTPUT)
    1478 $(target)_$(source)_DEPEND_ := $(TOOL_$(tool)_COMPILE_$(type)_DEPEND) $(deps) $(source)
    1479 $(target)_$(source)_DEPORD_ := $(TOOL_$(tool)_COMPILE_$(type)_DEPORD) $(dirdep)
    1480 
    1481 # generate the compile rule.
    1482 $(eval $(def_target_source_rule))
    1483 
    1484 _OUT_FILES      += $($(target)_$(source)_OUTPUT_)
    1485 $(target)_OBJS_ += $(obj)
    1486 
    1487 endef
    1488 
    1489 ## Generic macro for processing C, C++ and Assembly sources.
    1490 # @param    $(target)     Normalized target name.
    1491 # @param    $(source)     Source file name.
    1492 # @param    $(type)       Source type. {C,CXX,AS}
    1493 # @param    bld_type      Build type.
    1494 # @param    bld_trg       Build target.
    1495 # @param    bld_trg_arch  Build target arch.
    1496 # @param    bld_trg_cpu   Build target cpu.
    1497 #
    1498 #$ (warning dbg: def_target_source_c_cpp_asm: source='$(source)' target='$(target)' type='$(type)')
    14991120def_target_source_c_cpp_asm_rc_new = $(kb-src-one x)
    1500 
    15011121ifneq ($(filter kb-src-one,$(KMK_FEATURES)),)
    1502 def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_new
     1122 def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_new
    15031123else
    1504 def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_old
     1124 def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_old
    15051125endif
    15061126
  • trunk/kBuild/header.kmk

    r710 r723  
    217217 endif
    218218else
    219  # Vanilla GNU Make. Only supported for kBuild bootstrapping. Disable some features to make it work.
    220  NO_COMPILE_CMDS_DEPS:= 1
    221  NO_LINK_CMDS_DEPS   := 1
    222  sinclude $(PATH_KBUILD)/StampOutPredefines.kmk
    223  ifndef IS_BOOTSTRAPPING_KBUILD_NOW
    224   $(warning kBuild: Using vanilla GNU make isn't safe for anything but kBuild bootstrapping!)
    225  endif
     219 include $(PATH_KBUILD)/gnumake-header.kmk
    226220endif
    227221
     
    461455endif
    462456
     457
     458ifneq ($(filter stack,$(KMK_FEATURES)),stack) ## @todo retire this to gnumake-header.kmk when all the programs have been recompiled.
     459##
     460# Pushes an item onto a 'stack' variable.
     461# @param    $1   The stack variable name
     462# @param    $2   What to push.
     463stack-push = $(eval $1 +=$2)
     464
     465##
     466# Removes the top element from a 'stack' variable.
     467# @returns  The popped element
     468# @param    $1   The stack variable name
     469stack-pop  = $(call stack-top,$1)$(call stack-popv,$1)
     470
     471##
     472# Removes the top element from a 'stack' variable.
     473# This does *NOT* return the top element, use
     474# @param    $1   The stack variable name
     475# @remark This ain't very fast (that's why it's implemented in functions.c in kmk).
     476define def_stack-popv_sub
     477$1 :=$(__tmp)
     478__tmp+=$(item)
     479endef
     480define def_stack-popv
     481__tmp:=
     482$(foreach item,$($1),$(eval $(value def_stack-popv_sub)))
     483endef
     484stack-popv = $(eval $(value def_stack-popv))
     485
     486##
     487# Retrieves the top element from the 'stack' variable.
     488# @param    $1   The stack variable name
     489stack-top  = $(lastword $($1))
     490endif
     491
     492
    463493#
    464494# Initialize some of the globals which the Config.kmk and
     
    649679# The passes that should be defined. This must include
    650680# all passes mentioned by DEFAULT_PASSES.
    651 PASSES := FETCHES PATCHES $(DEFAULT_PASSES) PACKING NOTHING CLEAN
     681PASSES := FETCHES PATCHES $(DEFAULT_PASSES) NOTHING CLEAN
    652682
    653683
Note: See TracChangeset for help on using the changeset viewer.