You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
2.9 KiB

################################################################################
#
# Generic package infrastructure
#
################################################################################
TARGET_MAKE_ENV = \
PATH=$(PATH)
define TARGET_MAKE_BUILD_CMDS_DEFAULT
$(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \
$(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) \
$($(PKG)_MAKE) $($(PKG)_MAKE_ARGS)\
$($(PKG)_MAKE_OPTS)
endef
define TARGET_MAKE_BUILD
@$(call MESSAGE,"Building $(pkgname)")
$(foreach hook,$($(PKG)_PRE_BUILD_HOOKS),$(call $(hook))$(sep))
$(Q)$(call $(PKG)_BUILD_CMDS)
$(foreach hook,$($(PKG)_POST_BUILD_HOOKS),$(call $(hook))$(sep))
endef
define TARGET_MAKE_INSTALL_CMDS_DEFAULT
$(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \
$(TARGET_MAKE_ENV) $($(PKG)_MAKE_INSTALL_ENV) \
$($(PKG)_MAKE_INSTALL) $($(PKG)_MAKE_INSTALL_ARGS) DESTDIR=$(TARGET_DIR) \
$($(PKG)_MAKE_INSTALL_OPTS)
endef
define TARGET_MAKE_INSTALL
@$(call MESSAGE,"Installing $(pkgname)")
$(foreach hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep))
$(Q)$(call $(PKG)_INSTALL_CMDS)
$(foreach hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep))
endef
# -----------------------------------------------------------------------------
define generic-package
$(eval PKG_MODE = $(pkg-mode))
$(call PREPARE,$(1))
$(if $(filter $(1),$(PKG_NO_BUILD)),,$(call TARGET_MAKE_BUILD))
$(if $(filter $(1),$(PKG_NO_INSTALL)),,$(call TARGET_MAKE_INSTALL))
$(call TARGET_FOLLOWUP)
endef
# -----------------------------------------------------------------------------
HOST_MAKE_ENV = \
PATH=$(PATH) \
PKG_CONFIG=/usr/bin/pkg-config \
PKG_CONFIG_LIBDIR=$(HOST_DIR)/lib \
PKG_CONFIG_PATH=$(HOST_DIR)/lib/pkgconfig \
PKG_CONFIG_SYSROOT_DIR="/"
define HOST_MAKE_BUILD_CMDS_DEFAULT
$(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \
$(HOST_MAKE_ENV) $($(PKG)_MAKE_ENV) \
$($(PKG)_MAKE) $($(PKG)_MAKE_ARGS)\
$($(PKG)_MAKE_OPTS)
endef
define HOST_MAKE_BUILD
@$(call MESSAGE,"Building $(pkgname)")
$(foreach hook,$($(PKG)_PRE_BUILD_HOOKS),$(call $(hook))$(sep))
$(Q)$(call $(PKG)_BUILD_CMDS)
$(foreach hook,$($(PKG)_POST_BUILD_HOOKS),$(call $(hook))$(sep))
endef
define HOST_MAKE_INSTALL_CMDS_DEFAULT
$(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \
$(HOST_MAKE_ENV) $($(PKG)_MAKE_INSTALL_ENV) \
$($(PKG)_MAKE_INSTALL) $($(PKG)_MAKE_INSTALL_ARGS) \
$($(PKG)_MAKE_INSTALL_OPTS)
endef
define HOST_MAKE_INSTALL
@$(call MESSAGE,"Installing $(pkgname)")
$(foreach hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep))
$(Q)$(call $(PKG)_INSTALL_CMDS)
$(foreach hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep))
endef
# -----------------------------------------------------------------------------
define host-generic-package
$(eval PKG_MODE = $(pkg-mode))
$(call PREPARE,$(1))
$(if $(filter $(1),$(PKG_NO_BUILD)),,$(call HOST_MAKE_BUILD))
$(if $(filter $(1),$(PKG_NO_INSTALL)),,$(call HOST_MAKE_INSTALL))
$(call HOST_FOLLOWUP)
endef