Ignore:
Timestamp:
Jul 20, 2011, 4:16:19 PM (14 years ago)
Author:
bird
Message:

footer.kmk,header.kmk,qt*.kmk: Installalation and staging enhancements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/header.kmk

    r2475 r2479  
    391391
    392392# Install directory layout.  Relative to PATH_INS.
     393KBUILD_INST_PATHS   := BIN DLL SYS LIB DOC DEBUG SBIN LIBEXEC SHARE
    393394INST_BIN             = bin/
    394395if1of ($(KBUILD_TARGET), win)
     
    419420STAGE_LIBEXEC        = $(INST_LIBEXEC)
    420421STAGE_SHARE          = $(INST_SHARE)
     422
     423# Install and staging directory paths.
     424$(foreach path, $(KBUILD_INST_PATHS), \
     425        $(eval PATH_STAGE_$(path) = $$(patsubst %/,%,$$(PATH_STAGE)/$$(STAGE_$(path)))) \
     426        $(eval PATH_INST_$(path) = $$(patsubst %/,%,$$(PATH_INS)/$$(INST_$(path)))) \
     427)
    421428
    422429# Output directories.
     
    689696# Symlinking is problematic on some platforms...
    690697LN_SYMLINK  := $(LN) -s
     698
     699# When copying to the staging area, use hard links to save time and space.
     700if1of ($(KMK_FEATURES), install-hard-linking)
     701INSTALL_STAGING := $(INSTALL) --hard-link-files-when-possible
     702else
     703INSTALL_STAGING := $(INSTALL)
     704endif
    691705
    692706
     
    12461260endif
    12471261$($(y)_$(x) := $(val)
     1262
     1263local val := $(strip $(PATH_$(y)_$(x)))
     1264ifeq ($(val),)
     1265 $(error kBuild: 'PATH_$(y)_$(x)' is set to an empty value.)
     1266endif
     1267PATH_$(y)_$(x) := $(val)
    12481268endef
    1249 $(foreach y, INST STAGE, $(foreach x, BIN DLL SYS LIB DOC SBIN LIBEXEC SHARE DEBUG, $(evalcall def_kbuild_finalize_inst)))
     1269$(foreach y, INST STAGE, $(foreach x, $(KBUILD_INST_PATHS), $(evalcall def_kbuild_finalize_inst)))
    12501270
    12511271
Note: See TracChangeset for help on using the changeset viewer.