Changeset 2058 for trunk/kBuild


Ignore:
Timestamp:
Nov 6, 2008, 12:45:38 AM (17 years ago)
Author:
bird
Message:

footer.kmk: made KBUILD_SAFE_PARALLEL work again.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/footer.kmk

    r2026 r2058  
    34493449#$ (error _KBUILD_STRICT_PASS_ORDER=$(_KBUILD_STRICT_PASS_ORDER))
    34503450
     3451ifeq ($(_KBUILD_STRICT_PASS_ORDER),strict)
     3452 ifndef KBUILD_SAFE_PARALLEL
     3453_KBUILD_STRICT_PASS_ORDER := strict_unsafe
     3454 endif
     3455endif
     3456
    34513457
    34523458## Subdir
     
    34753481define def_pass_strict
    34763482$(eval tag:=_before)
    3477 $(eval dep:=)
     3483$(eval dep:= )
    34783484$(foreach subdir,  $(SUBDIRS_$(PASS))          $(SUBDIRS_$(PASS).$(KBUILD_TARGET))          $(SUBDIRS_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))         ,$(eval $(def_pass_subdir)))
    34793485$(foreach makefile,$(MAKEFILES_BEFORE_$(PASS)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET)) $(MAKEFILES_BEFORE_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),$(eval $(def_pass_makefile)))
     
    34843490$(foreach makefile,$(MAKEFILES_AFTER_$(PASS))  $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET))  $(MAKEFILES_AFTER_$(PASS).$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) ,$(eval $(def_pass_makefile)))
    34853491
    3486 ifdef KBUILD_SAFE_PARALLEL
    34873492.NOTPARALLEL: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_this
    34883493.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))
     3494pass_$(pass)_doit:      $(PASS_$(PASS)_trgs) $(foreach var,$(PASS_$(PASS)_vars),$($(var)))
    34903495pass_$(pass)_this:      pass_$(pass)_before
    34913496        + $$(QUIET)$$(MAKE) -f $$(MAKEFILE) pass_$(pass)_doit
    34923497pass_$(pass)_after::    pass_$(pass)_this
    34933498pass_$(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))))
     3500endef # 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.
     3506define 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
    34953517.PHONY:       pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_doit
    34963518.NOTPARALLEL: pass_$(pass) pass_$(pass)_before pass_$(pass)_after pass_$(pass)_doit
     
    35013523                pass_$(pass)_doit \
    35023524                pass_$(pass)_after
    3503 endif # !KBUILD_SAFE_PARALLEL
    3504 
    35053525#$ (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)
     3526endef # def_pass_strict_unsafe
     3527$(eval-opt-var def_pass_strict_unsafe)
    35083528
    35093529## Execute a pass, non-strict pass ordering.
     
    35273547# @param        $(prev_pass)    The previous pass name.
    35283548define def_pass_order_strict
    3529 ifdef KBUILD_SAFE_PARALLEL
    35303549.PHONY:       pass_$(pass)_order
    35313550.NOTPARALLEL: pass_$(pass)_order
     
    35333552        %$$(call MSG_PASS,$$(if $$(PASS_$(PASS)),$$(PASS_$(PASS)),$(pass)))
    35343553        + $$(QUIET)$$(MAKE) -f $$(MAKEFILE) pass_$(pass)
    3535 else  # !KBUILD_SAFE_PARALLEL
    3536 .NOTPARALLEL: pass_$(pass)_order pass_$(pass)_banner
    3537 .PHONY:       pass_$(pass)_order pass_$(pass)_banner
    3538 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_PARALLEL
    35453554$(eval pass_prev := pass_$(pass)_order)
    35463555endef # def_pass_order_strict
    35473556$(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.
     3561define def_pass_order_strict_unsafe
     3562.NOTPARALLEL: pass_$(pass)_order pass_$(pass)_banner
     3563.PHONY:       pass_$(pass)_order pass_$(pass)_banner
     3564pass_$(pass)_banner: $(pass_prev)
     3565        %$$(call MSG_PASS,$$(if $$(PASS_$(PASS)),$$(PASS_$(PASS)),$(pass)))
     3566pass_$(pass)_order:  $(pass_prev) \
     3567                pass_$(pass)_banner \
     3568                pass_$(pass)
     3569$(eval pass_prev := pass_$(pass)_order)
     3570endef # def_pass_order_strict_unsafe
     3571$(eval-opt-var def_pass_order_strict_unsafe)
    35483572
    35493573## Pass order, non-strict.
Note: See TracChangeset for help on using the changeset viewer.