Changeset 2058 for trunk/kBuild
- Timestamp:
- Nov 6, 2008, 12:45:38 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/footer.kmk
r2026 r2058 3449 3449 #$ (error _KBUILD_STRICT_PASS_ORDER=$(_KBUILD_STRICT_PASS_ORDER)) 3450 3450 3451 ifeq ($(_KBUILD_STRICT_PASS_ORDER),strict) 3452 ifndef KBUILD_SAFE_PARALLEL 3453 _KBUILD_STRICT_PASS_ORDER := strict_unsafe 3454 endif 3455 endif 3456 3451 3457 3452 3458 ## Subdir … … 3475 3481 define def_pass_strict 3476 3482 $(eval tag:=_before) 3477 $(eval dep:= )3483 $(eval dep:= ) 3478 3484 $(foreach subdir, $(SUBDIRS_$(PASS)) $(SUBDIRS_$(PASS).$(KBUILD_TARGET)) $(SUBDIRS_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_subdir))) 3479 3485 $(foreach makefile,$(MAKEFILES_BEFORE_$(PASS)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),$(eval $(def_pass_makefile))) … … 3484 3490 $(foreach makefile,$(MAKEFILES_AFTER_$(PASS)) $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET)) $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_makefile))) 3485 3491 3486 ifdef KBUILD_SAFE_PARALLEL3487 3492 .NOTPARALLEL: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_this 3488 3493 .PHONY: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_this pass_$(pass)_doit 3489 pass_$(pass)_doit: $(PASS_$(PASS)_trgs) $(foreach var,$(PASS_$(PASS)_vars),$( var))3494 pass_$(pass)_doit: $(PASS_$(PASS)_trgs) $(foreach var,$(PASS_$(PASS)_vars),$($(var))) 3490 3495 pass_$(pass)_this: pass_$(pass)_before 3491 3496 + $$(QUIET)$$(MAKE) -f $$(MAKEFILE) pass_$(pass)_doit 3492 3497 pass_$(pass)_after:: pass_$(pass)_this 3493 3498 pass_$(pass): pass_$(pass)_after 3494 else # !KBUILD_SAFE_PARALLEL 3499 #$ (warning pass=$(pass) PASS=$(PASS): $(PASS_$(PASS)_trgs) $(PASS_$(PASS)_trgs) $(foreach var,$(PASS_$(PASS)_vars),$($(var)))) 3500 endef # def_pass_strict 3501 $(eval-opt-var def_pass_strict) 3502 3503 ## Execute a pass, strict order. 3504 # @param $(pass) Lowercase pass name. 3505 # @param $(PASS) Uppercase pass name. 3506 define def_pass_strict_unsafe 3507 $(eval tag:=_before) 3508 $(eval dep:= ) 3509 $(foreach subdir, $(SUBDIRS_$(PASS)) $(SUBDIRS_$(PASS).$(KBUILD_TARGET)) $(SUBDIRS_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_subdir))) 3510 $(foreach makefile,$(MAKEFILES_BEFORE_$(PASS)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),$(eval $(def_pass_makefile))) 3511 3512 $(eval tag:=_after) 3513 $(eval dep:=pass_$(pass)_doit) 3514 $(foreach subdir, $(SUBDIRS_AFTER_$(PASS)) $(SUBDIRS_AFTER_$(PASS).$(KBUILD_TARGET)) $(SUBDIRS_AFTER_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_subdir))) 3515 $(foreach makefile,$(MAKEFILES_AFTER_$(PASS)) $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET)) $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_makefile))) 3516 3495 3517 .PHONY: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_doit 3496 3518 .NOTPARALLEL: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_doit … … 3501 3523 pass_$(pass)_doit \ 3502 3524 pass_$(pass)_after 3503 endif # !KBUILD_SAFE_PARALLEL3504 3505 3525 #$ (warning pass=$(pass) PASS=$(PASS): $(PASS_$(PASS)_trgs) $(PASS_$(PASS)_trgs) $(foreach var,$(PASS_$(PASS)_vars),$($(var)))) 3506 endef # def_pass_strict 3507 $(eval-opt-var def_pass_strict )3526 endef # def_pass_strict_unsafe 3527 $(eval-opt-var def_pass_strict_unsafe) 3508 3528 3509 3529 ## Execute a pass, non-strict pass ordering. … … 3527 3547 # @param $(prev_pass) The previous pass name. 3528 3548 define def_pass_order_strict 3529 ifdef KBUILD_SAFE_PARALLEL3530 3549 .PHONY: pass_$(pass)_order 3531 3550 .NOTPARALLEL: pass_$(pass)_order … … 3533 3552 %$$(call MSG_PASS,$$(if $$(PASS_$(PASS)),$$(PASS_$(PASS)),$(pass))) 3534 3553 + $$(QUIET)$$(MAKE) -f $$(MAKEFILE) pass_$(pass) 3535 else # !KBUILD_SAFE_PARALLEL3536 .NOTPARALLEL: pass_$(pass)_order pass_$(pass)_banner3537 .PHONY: pass_$(pass)_order pass_$(pass)_banner3538 pass_$(pass)_banner:3539 %$$(call MSG_PASS,$$(if $$(PASS_$(PASS)),$$(PASS_$(PASS)),$(pass)))3540 pass_$(pass)_order: \3541 $(pass_prev) \3542 pass_$(pass)_banner \3543 pass_$(pass)3544 endif # !KBUILD_SAFE_PARALLEL3545 3554 $(eval pass_prev := pass_$(pass)_order) 3546 3555 endef # def_pass_order_strict 3547 3556 $(eval-opt-var def_pass_order_strict) 3557 3558 ## Pass order, strict unsafe. 3559 # @param $(pass) Current pass name. 3560 # @param $(prev_pass) The previous pass name. 3561 define def_pass_order_strict_unsafe 3562 .NOTPARALLEL: pass_$(pass)_order pass_$(pass)_banner 3563 .PHONY: pass_$(pass)_order pass_$(pass)_banner 3564 pass_$(pass)_banner: $(pass_prev) 3565 %$$(call MSG_PASS,$$(if $$(PASS_$(PASS)),$$(PASS_$(PASS)),$(pass))) 3566 pass_$(pass)_order: $(pass_prev) \ 3567 pass_$(pass)_banner \ 3568 pass_$(pass) 3569 $(eval pass_prev := pass_$(pass)_order) 3570 endef # def_pass_order_strict_unsafe 3571 $(eval-opt-var def_pass_order_strict_unsafe) 3548 3572 3549 3573 ## Pass order, non-strict.
Note:
See TracChangeset
for help on using the changeset viewer.