Ignore:
Timestamp:
Aug 2, 2011, 9:44:43 PM (14 years ago)
Author:
bird
Message:

Quick implementation of PRE_[FILE|SYMLINK|DIRECTORY_CMDS on installs. Fixes #104.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/footer-pass2-compiling-targets.kmk

    r2535 r2537  
    286286$(eval-opt-var def_target_sources)
    287287
    288 
    289 ##
    290 # Function for getting the first defined propert value.
    291 #
    292 # @param   1            The property name.
    293 # @param   2            The default property name, empty if none.
    294 # @param   3            What to return if all variables are empty. (optional)
    295 # @note    Implicit parameters: target, bld_trg, bld_trg_arch, bld_trg_cpu, bld_type.
    296 # @returns Expanded property value.
    297 #
    298 define def_fn_prop_get_first_defined
    299 local .RETURN := $(firstdefined \
    300     $(target)_$(1).$(bld_trg).$(bld_trg_arch).$(bld_type) \
    301     $(target)_$(1).$(bld_trg).$(bld_trg_arch) \
    302     $(target)_$(1).$(bld_trg).$(bld_type) \
    303     $(target)_$(1).$(bld_trg_cpu) \
    304     $(target)_$(1).$(bld_trg_arch) \
    305     $(target)_$(1).$(bld_trg) \
    306     $(target)_$(1).$(bld_type) \
    307     $(target)_$(1) \
    308 )
    309 ifeq ($(.RETURN),)
    310  ifneq ($(2),)
    311   local .RETURN := $(firstdefined \
    312     $(2).$(bld_trg).$(bld_trg_arch).$(bld_type) \
    313     $(2).$(bld_trg).$(bld_trg_arch) \
    314     $(2).$(bld_trg).$(bld_type) \
    315     $(2).$(bld_trg_cpu) \
    316     $(2).$(bld_trg_arch) \
    317     $(2).$(bld_trg) \
    318     $(2).$(bld_type) \
    319     $(2) \
    320     3 \
    321   )
    322  else
    323   local .RETURN := $(firstdefined \
    324     kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_trg_arch).$(bld_type) \
    325     kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_trg_arch) \
    326     kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_type) \
    327     kBuildGlobalDefaults_$(1).$(bld_trg_cpu) \
    328     kBuildGlobalDefaults_$(1).$(bld_trg_arch) \
    329     kBuildGlobalDefaults_$(1).$(bld_trg) \
    330     kBuildGlobalDefaults_$(1).$(bld_type) \
    331     kBuildGlobalDefaults_$(1) \
    332     3 \
    333   )
    334  endif
    335 endif
    336 local .RETURN := $(strip $($(.RETURN)))
    337 endef # def_fn_prop_get_first_defined
    338 
    339 ##
    340 # Function for getting the first property value (ignoring empty defines).
    341 #
    342 # @param   1            The property name.
    343 # @param   2            The default property name, empty if none.
    344 # @param   3            What to return if all variables are empty. (optional)
    345 # @note    Implicit parameters: target, bld_trg, bld_trg_arch, bld_trg_cpu, bld_type.
    346 # @returns First word.
    347 #
    348 define def_fn_prop_get_first_word
    349 local .RETURN := $(firstword \
    350     $($(target)_$(1).$(bld_trg).$(bld_trg_arch).$(bld_type)) \
    351     $($(target)_$(1).$(bld_trg).$(bld_trg_arch)) \
    352     $($(target)_$(1).$(bld_trg).$(bld_type)) \
    353     $($(target)_$(1).$(bld_trg_cpu)) \
    354     $($(target)_$(1).$(bld_trg_arch)) \
    355     $($(target)_$(1).$(bld_trg)) \
    356     $($(target)_$(1).$(bld_type)) \
    357     $($(target)_$(1)) \
    358 )
    359 ifeq ($(.RETURN),)
    360  ifneq ($(2),)
    361   local .RETURN := $(firstword \
    362     $($(2).$(bld_trg).$(bld_trg_arch).$(bld_type)) \
    363     $($(2).$(bld_trg).$(bld_trg_arch)) \
    364     $($(2).$(bld_trg).$(bld_type)) \
    365     $($(2).$(bld_trg_cpu)) \
    366     $($(2).$(bld_trg_arch)) \
    367     $($(2).$(bld_trg)) \
    368     $($(2).$(bld_type)) \
    369     $($(2)) \
    370     $(3) \
    371   )
    372  else
    373   local .RETURN := $(firstword \
    374     $(kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_trg_arch).$(bld_type)) \
    375     $(kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_trg_arch)) \
    376     $(kBuildGlobalDefaults_$(1).$(bld_trg).$(bld_type)) \
    377     $(kBuildGlobalDefaults_$(1).$(bld_trg_cpu)) \
    378     $(kBuildGlobalDefaults_$(1).$(bld_trg_arch)) \
    379     $(kBuildGlobalDefaults_$(1).$(bld_trg)) \
    380     $(kBuildGlobalDefaults_$(1).$(bld_type)) \
    381     $(kBuildGlobalDefaults_$(1)) \
    382     $(3) \
    383   )
    384  endif
    385 endif
    386 endef # def_fn_prop_get_first_word
    387288
    388289##
Note: See TracChangeset for help on using the changeset viewer.