Changeset 183 for trunk/kBuild/footer.kmk
- Timestamp:
- Dec 2, 2004, 9:39:03 PM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/footer.kmk
r148 r183 98 98 $($(type)TOOL.$(BUILD_TARGET)) $(TOOL.$(BUILD_TARGET)) \ 99 99 $($(type)TOOL) $(TOOL) )) 100 100 101 101 ## Figure out the tool for a target. 102 102 # @param $target normalized target. … … 112 112 $(TOOL) \ 113 113 )) 114 114 115 115 ## Removes the drive letter from a path (if it has one) 116 116 # @param $1 the path … … 214 214 endef 215 215 216 ## Inherit one template property. 216 ## Inherit one template property. 217 217 # @param $(prop) Property name 218 218 # @param $(target) Target name … … 252 252 # 253 253 # Include tools 254 # 254 # 255 255 _TOOLS := $(TOOL) 256 256 define def_tools_target_source … … 647 647 )) 648 648 $(eval lib := $(outbase)$(libsuff)) 649 $(eval TARGET_$(target) := $(lib)) 649 650 650 651 # source -> object … … 675 676 $(publib) : $(lib) $(dir $(publib)).dir_created 676 677 $(CP) $(lib) $(publib) 677 678 678 679 _LIBS += $(publib) 679 680 _OUT_FILES += $(lib) $(publib) … … 703 704 $(eval exesuff := $(firstword $($(target)_EXESUFF) $($(target)_EXESUFF) $(TOOL_$(tool)_LDEXESUFF) $(SUFF_EXE))) 704 705 $(eval exe := $(outbase)$(exesuff)) 706 $(eval TARGET_$(target) := $(exe)) 705 707 706 708 # source -> object … … 826 828 $(pubexe) : $(exe) $(dir $(pubexe)).dir_created 827 829 $(CP) $(exe) $(pubexe) 828 830 829 831 _DLLS += $(pubexe) 830 832 _OUT_FILES += $(exe) $(pubexe) … … 854 856 $(eval dllsuff := $(firstword $($(target)_DLLSUFF) $($(target)_DLLSUFF) $(TOOL_$(tool)_LDDLLSUFF) $(SUFF_DLL))) 855 857 $(eval dll := $(outbase)$(dllsuff)) 858 $(eval TARGET_$(target) := $(dll)) 856 859 857 860 # source -> object 858 861 $(eval $(def_target_sources)) 859 862 860 # dllmod linking. 863 # dllmod linking. 861 864 $(eval tool := $(call _TARGET_TOOL,$(target),LD)) 862 865 $(eval outbase := $(call _TARGET_BASE,$(target),$(target))) … … 982 985 7 $(TOOL.$(BUILD_TARGET)) \ 983 986 8 $(TOOL) ) 984 endif 987 endif 985 988 986 989 $(eval $(TOOL_$(tool)_LINK_DLL)) 987 990 988 991 989 992 # publish rule (still need work) 990 993 ifndef $(target)_NOINST … … 992 995 $(pubdll) : $(dll) $(dir $(pubdll)).dir_created 993 996 $(CP) $(dll) $(pubdll) 994 997 995 998 _DLLS += $(pubdll) 996 999 _OUT_FILES += $(dll) $(pubdll) … … 1019 1022 $(eval syssuff := $(firstword $($(target)_SYSSUFF) $($(target)_SYSSUFF) $(TOOL_$(tool)_LDSYSSUFF) $(SUFF_SYS))) 1020 1023 $(eval sys := $(outbase)$(syssuff)) 1024 $(eval TARGET_$(target) := $(sys)) 1021 1025 1022 1026 # source -> object … … 1147 1151 7 $(TOOL.$(BUILD_TARGET)) \ 1148 1152 8 $(TOOL) ) 1149 endif 1153 endif 1150 1154 1151 1155 $(eval $(TOOL_$(tool)_LINK_SYSMOD)) … … 1156 1160 $(pubsys): $(sys) $(dir $(pubsys)).dir_created 1157 1161 $(CP) $(sys) $(pubsys) 1158 1162 1159 1163 $(eval _SYSMODS += $(pubsys)) 1160 1164 $(eval _OUT_FILES += $(sys) $(pubsys)) … … 1197 1201 $(foreach dirfile,$(_DIRFILES),$(eval $(def_createdir))) 1198 1202 1199 1203 1200 1204 # 1201 1205 # Include dependency files. … … 1203 1207 $(foreach dep,$(wildcard $(_DEPFILES)),$(eval include $(dep))) 1204 1208 1205 1209 1206 1210 # 1207 1211 # PASSES (including directory and makefile walking) … … 1241 1245 # @param $(PASS) Uppercase pass name. 1242 1246 define def_pass 1243 $(eval SUBDIRS_$(PASS) ?= $(SUBDIRS) )1244 $(eval SUBDIRS_AFTER_$(PASS) ?= $(SUBDIRS_AFTER) )1245 $(eval MAKEFILES_BEFORE_$(PASS) ?= $(MAKEFILES_BEFORE) )1246 $(eval MAKEFILES_AFTER_$(PASS) ?= $(MAKEFILES_AFTER) )1247 $(eval SUBDIRS_$(PASS) ?= $(SUBDIRS) $(SUBDIRS.$(BUILD_TARGET))) 1248 $(eval SUBDIRS_AFTER_$(PASS) ?= $(SUBDIRS_AFTER) $(SUBDIRS_AFTER.$(BUILD_TARGET))) 1249 $(eval MAKEFILES_BEFORE_$(PASS) ?= $(MAKEFILES_BEFORE) $(MAKEFILES_BEFORE.$(BUILD_TARGET))) 1250 $(eval MAKEFILES_AFTER_$(PASS) ?= $(MAKEFILES_AFTER) $(MAKEFILES_AFTER.$(BUILD_TARGET))) 1247 1251 1248 1252 $(eval tag:=_before) 1249 $(foreach subdir,$(SUBDIRS_$(PASS)) ,$(eval $(def_pass_subdir)))1250 $(foreach makefile,$(MAKEFILES_BEFORE_$(PASS)) ,$(eval $(def_pass_makefile)))1253 $(foreach subdir,$(SUBDIRS_$(PASS)) $(SUBDIRS_$(PASS).$(BUILD_TARGET)) ,$(eval $(def_pass_subdir))) 1254 $(foreach makefile,$(MAKEFILES_BEFORE_$(PASS)) $(MAKEFILES_BEFORE_$(PASS).$(BUILD_TARGET)),$(eval $(def_pass_makefile))) 1251 1255 1252 1256 $(eval tag:=_after) 1253 $(foreach subdir,$(SUBDIRS_AFTER_$(PASS)) ,$(eval $(def_pass_subdir)))1254 $(foreach makefile,$(MAKEFILES_AFTER_$(PASS)) ,$(eval $(def_pass_makefile)))1257 $(foreach subdir,$(SUBDIRS_AFTER_$(PASS)) $(SUBDIRS_AFTER_$(PASS).$(BUILD_TARGET)) ,$(eval $(def_pass_subdir))) 1258 $(foreach makefile,$(MAKEFILES_AFTER_$(PASS)) $(MAKEFILES_AFTER_$(PASS).$(BUILD_TARGET)) ,$(eval $(def_pass_makefile))) 1255 1259 1256 1260 .NOTPARALLEL: pass_$(pass)_before pass_$(pass)_after … … 1260 1264 pass_$(pass)_doit \ 1261 1265 pass_$(pass)_after 1262 1263 endef 1264 1265 1266 1267 endef 1268 1269 1266 1270 ## PASS: needed 1267 1271 # This pass builds targets which are required for building the rest. … … 1299 1303 PASS := PUBLISH 1300 1304 # $(sort).. not nice. 1301 SUBDIRS_PUBLISH ?= $(sort $(SUBDIRS) $(SUBDIRS_LIBRARIES) $(SUBDIRS_BINARIES) $(SUBDIRS_OTHERS))1302 SUBDIRS_AFTER_PUBLISH ?= $(sort $(SUBDIRS_AFTER) $(SUBDIRS_AFTER_LIBRARIES) $(SUBDIRS_AFTER_BINARIES) $(SUBDIRS_AFTER_OTHERS))1303 MAKEFILES_BEFORE_PUBLISH?= $(sort $(MAKEFILES_BEFORE) $(MAKEFILES_BEFORE _LIBRARIES) $(MAKEFILES_BEFORE_BINARIES) $(MAKEFILES_BEFORE_OTHERS))1304 MAKEFILES_AFTER_PUBLISH ?= $(sort $(MAKEFILES_AFTER) $(MAKEFILES_AFTER_LIBRARIES) $(MAKEFILES_AFTER_BINARIES) $(MAKEFILES_AFTER_OTHERS))1305 SUBDIRS_PUBLISH ?= $(sort $(SUBDIRS) $(SUBDIRS.$(BUILD_TARGET)) $(SUBDIRS_LIBRARIES) $(SUBDIRS_LIBRARIES.$(BUILD_TARGET)) $(SUBDIRS_BINARIES) $(SUBDIRS_BINARIES.$(BUILD_TARGET)) $(SUBDIRS_OTHERS) $(SUBDIRS_OTHERS.$(BUILD_TARGET))) 1306 SUBDIRS_AFTER_PUBLISH ?= $(sort $(SUBDIRS_AFTER) $(SUBDIRS_AFTER.$(BUILD_TARGET)) $(SUBDIRS_AFTER_LIBRARIES) $(SUBDIRS_AFTER_LIBRARIES.$(BUILD_TARGET)) $(SUBDIRS_AFTER_BINARIES) $(SUBDIRS_AFTER_BINARIES.$(BUILD_TARGET)) $(SUBDIRS_AFTER_OTHERS) $(SUBDIRS_AFTER_OTHERS.$(BUILD_TARGET))) 1307 MAKEFILES_BEFORE_PUBLISH?= $(sort $(MAKEFILES_BEFORE) $(MAKEFILES_BEFORE.$(BUILD_TARGET)) $(MAKEFILES_BEFORE_LIBRARIES) $(MAKEFILES_BEFORE_LIBRARIES.$(BUILD_TARGET)) $(MAKEFILES_BEFORE_BINARIES) $(MAKEFILES_BEFORE_BINARIES.$(BUILD_TARGET)) $(MAKEFILES_BEFORE_OTHERS) $(MAKEFILES_BEFORE_OTHERS.$(BUILD_TARGET))) 1308 MAKEFILES_AFTER_PUBLISH ?= $(sort $(MAKEFILES_AFTER) $(MAKEFILES_AFTER.$(BUILD_TARGET)) $(MAKEFILES_AFTER_LIBRARIES) $(MAKEFILES_AFTER_LIBRARIES.$(BUILD_TARGET)) $(MAKEFILES_AFTER_BINARIES) $(MAKEFILES_AFTER_BINARIES.$(BUILD_TARGET)) $(MAKEFILES_AFTER_OTHERS) $(MAKEFILES_AFTER_OTHERS.$(BUILD_TARGET))) 1305 1309 $(eval $(def_pass)) 1306 1310 … … 1321 1325 $(eval $(def_pass)) 1322 1326 clean: pass_clean 1323 1327 1324 1328 ## PASS: nothing 1325 1329 # This pass just walks the tree. … … 1331 1335 nothing: pass_nothing 1332 1336 1333 1337 1334 1338 1335 1339 # … … 1346 1350 objects: $(_OBJS) 1347 1351 programs: $(_EXES) 1348 dlls: $(_DLLS) 1352 dlls: $(_DLLS) 1349 1353 sysmods: $(_SYSMODS) 1350 1354
Note:
See TracChangeset
for help on using the changeset viewer.