X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/3d7b088997a372140d946c7e2ee9fdd3be9a0ee4..84bf4449a74237550378ee5fded32c8ddb7b97ff:/include/host-build.mk?ds=sidebyside diff --git a/include/host-build.mk b/include/host-build.mk index 2ce3e1598..3d1983b28 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -1,5 +1,5 @@ -# -# Copyright (C) 2006-2008 OpenWrt.org +# +# Copyright (C) 2006-2009 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,7 +12,8 @@ include $(INCLUDE_DIR)/host.mk include $(INCLUDE_DIR)/unpack.mk include $(INCLUDE_DIR)/depends.mk -HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPEND),))) +BUILD_TYPES += host +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(HOST_QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPEND),))) HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.$(PKG_NAME)_installed @@ -25,7 +26,7 @@ include $(INCLUDE_DIR)/quilt.mk Host/Patch:=$(Host/Patch/Default) ifneq ($(strip $(HOST_UNPACK)),) define Host/Prepare/Default - $(HOST_UNPACK) + $(HOST_UNPACK) $(Host/Patch) endef endif @@ -34,27 +35,34 @@ define Host/Prepare $(call Host/Prepare/Default) endef +HOST_CONFIGURE_VARS = \ + CPPFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + SHELL="$(BASH)" + +HOST_CONFIGURE_ARGS = \ + --target=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(STAGING_DIR_HOST) \ + --exec-prefix=$(STAGING_DIR_HOST) \ + --sysconfdir=$(STAGING_DIR_HOST)/etc \ + --localstatedir=$(STAGING_DIR_HOST)/var + +HOST_CONFIGURE_CMD = ./configure + define Host/Configure/Default @(cd $(HOST_BUILD_DIR)/$(3); \ - [ -x configure ] && \ - $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \ - $(2) \ - CPPFLAGS="$(HOST_CFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" \ - SHELL="$(BASH)" \ - ./configure \ - --target=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --build=$(GNU_HOST_NAME) \ - --program-prefix="" \ - --program-suffix="" \ - --prefix=$(STAGING_DIR_HOST) \ - --exec-prefix=$(STAGING_DIR_HOST) \ - --sysconfdir=$(STAGING_DIR_HOST)/etc \ - --localstatedir=$(STAGING_DIR_HOST)/var \ - $(DISABLE_NLS) \ - $(1); \ - true; \ + if [ -x configure ]; then \ + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \ + $(2) \ + $(HOST_CONFIGURE_CMD) \ + $(HOST_CONFIGURE_VARS) \ + $(HOST_CONFIGURE_ARGS) \ + $(1); \ + fi \ ) endef @@ -70,7 +78,7 @@ define Host/Compile $(call Host/Compile/Default) endef -ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) +ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),) define HostHost/Autoclean $(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(HOST_STAMP_PREPARED)) $(if $(if $(Host/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(HOST_BUILD_DIR),$(HOST_STAMP_BUILT))) @@ -88,10 +96,10 @@ endef ifndef DUMP define HostBuild - $(if $(QUILT),$(Host/Quilt)) - $(if $(STAMP_PREPARED),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(if $(HOST_QUILT),$(Host/Quilt)) + $(if $(if $(PKG_HOST_ONLY),,$(STAMP_PREPARED)),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) $(if $(DUMP),,$(call HostHost/Autoclean)) - + $(HOST_STAMP_PREPARED): @-rm -rf $(HOST_BUILD_DIR) @mkdir -p $(HOST_BUILD_DIR) @@ -110,12 +118,19 @@ ifndef DUMP $(call Host/Install) mkdir -p $$(shell dirname $$@) touch $$@ - + ifdef Host/Install host-install: $(HOST_STAMP_INSTALLED) endif - download: + ifndef STAMP_BUILT + prepare: host-prepare + compile: host-compile + install: host-install + clean: host-clean + else + host-compile: $(HOST_STAMP_INSTALLED) + endif host-prepare: $(HOST_STAMP_PREPARED) host-configure: $(HOST_STAMP_CONFIGURED) host-compile: $(HOST_STAMP_BUILT) @@ -127,10 +142,11 @@ ifndef DUMP endef - prepare: host-prepare - compile: host-compile - install: host-install - clean: host-clean + download: + prepare: + compile: + install: + clean: endif