mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
- implement hooks for hostbuilds - use host build hooks to implement fixups for host build - move separator declaration to rules.mk
SVN-Revision: 24551
This commit is contained in:
parent
135cfe50c9
commit
dbf8d9c516
@ -5,10 +5,6 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH)
|
||||
PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH)
|
||||
PKG_REMOVE_FILES?=aclocal.m4
|
||||
|
||||
autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2))
|
||||
|
||||
# delete *.la-files from staging_dir - we can not yet remove respective lines within all package
|
||||
@ -17,10 +13,15 @@ define libtool_remove_files
|
||||
find $(1) -name '*.la' | $(XARGS) rm -f;
|
||||
endef
|
||||
|
||||
# 1: build dir
|
||||
# 2: remove files
|
||||
# 3: automake paths
|
||||
# 4: libtool paths
|
||||
# 5: extra m4 dirs
|
||||
define autoreconf
|
||||
(cd $(PKG_BUILD_DIR); \
|
||||
$(patsubst %,rm -f %;,$(PKG_REMOVE_FILES)) \
|
||||
$(foreach p,$(PKG_AUTOMAKE_PATHS), \
|
||||
(cd $(1); \
|
||||
$(patsubst %,rm -f %;,$(2)) \
|
||||
$(foreach p,$(3), \
|
||||
if [ -x $(p)/autogen.sh ]; then \
|
||||
$(p)/autogen.sh || true; \
|
||||
elif [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \
|
||||
@ -28,32 +29,75 @@ define autoreconf
|
||||
[ -d $(p)/autom4te.cache ] && rm -rf autom4te.cache; \
|
||||
$(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \
|
||||
-B $(STAGING_DIR_HOST)/share/aclocal \
|
||||
-B $(STAGING_DIR)/host/share/aclocal \
|
||||
-B $(STAGING_DIR)/usr/share/aclocal \
|
||||
$(patsubst %,-I %,$(PKG_LIBTOOL_PATHS)) $(PKG_LIBTOOL_PATHS) || true; \
|
||||
$(patsubst %,-B %,$(5)) \
|
||||
$(patsubst %,-I %,$(4)) $(4) || true; \
|
||||
fi; \
|
||||
) \
|
||||
);
|
||||
endef
|
||||
|
||||
|
||||
PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH)
|
||||
PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH)
|
||||
PKG_REMOVE_FILES?=aclocal.m4
|
||||
|
||||
Hooks/InstallDev/Post += libtool_remove_files
|
||||
|
||||
define autoreconf_target
|
||||
$(strip $(call autoreconf, \
|
||||
$(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \
|
||||
$(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \
|
||||
$(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal))
|
||||
endef
|
||||
|
||||
ifneq ($(filter libtool,$(PKG_FIXUP)),)
|
||||
PKG_BUILD_DEPENDS += libtool
|
||||
ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
|
||||
Hooks/Configure/Pre += autoreconf
|
||||
Hooks/Configure/Pre += autoreconf_target
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),)
|
||||
PKG_BUILD_DEPENDS += libtool
|
||||
ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
|
||||
Hooks/Configure/Pre += autoreconf
|
||||
Hooks/Configure/Pre += autoreconf_target
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter autoreconf,$(PKG_FIXUP)),)
|
||||
ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),)
|
||||
Hooks/Configure/Pre += autoreconf
|
||||
Hooks/Configure/Pre += autoreconf_target
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
HOST_FIXUP?=$(PKG_FIXUP)
|
||||
HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.)
|
||||
HOST_AUTOMAKE_PATHS?=$(if $(PKG_AUTOMAKE_PATHS),$(PKG_AUTOMAKE_PATHS),.)
|
||||
HOST_REMOVE_FILES?=$(PKG_REMOVE_FILES)
|
||||
|
||||
define autoreconf_host
|
||||
$(strip $(call autoreconf, \
|
||||
$(HOST_BUILD_DIR), $(HOST_REMOVE_FILES), \
|
||||
$(HOST_AUTOMAKE_PATHS), $(HOST_LIBTOOL_PATHS)))
|
||||
endef
|
||||
|
||||
ifneq ($(filter libtool,$(HOST_FIXUP)),)
|
||||
HOST_BUILD_DEPENDS += libtool
|
||||
ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),)
|
||||
Hooks/HostConfigure/Pre += autoreconf_host
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),)
|
||||
HOST_BUILD_DEPENDS += libtool
|
||||
ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),)
|
||||
Hooks/HostConfigure/Pre += autoreconf_host
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter autoreconf,$(HOST_FIXUP)),)
|
||||
ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),)
|
||||
Hooks/HostConfigure/Pre += autoreconf_host
|
||||
endif
|
||||
endif
|
||||
|
@ -30,6 +30,7 @@ override MAKEFLAGS=
|
||||
|
||||
include $(INCLUDE_DIR)/download.mk
|
||||
include $(INCLUDE_DIR)/quilt.mk
|
||||
include $(INCLUDE_DIR)/autotools.mk
|
||||
|
||||
Host/Patch:=$(Host/Patch/Default)
|
||||
ifneq ($(strip $(HOST_UNPACK)),)
|
||||
@ -130,12 +131,16 @@ ifndef DUMP
|
||||
$(HOST_STAMP_PREPARED):
|
||||
@-rm -rf $(HOST_BUILD_DIR)
|
||||
@mkdir -p $(HOST_BUILD_DIR)
|
||||
$(foreach hook,$(Hooks/HostPrepare/Pre),$(call $(hook))$(sep))
|
||||
$(call Host/Prepare)
|
||||
$(foreach hook,$(Hooks/HostPrepare/Post),$(call $(hook))$(sep))
|
||||
touch $$@
|
||||
|
||||
$(call Host/Exports,$(HOST_STAMP_CONFIGURED))
|
||||
$(HOST_STAMP_CONFIGURED): $(HOST_STAMP_PREPARED)
|
||||
$(foreach hook,$(Hooks/HostConfigure/Pre),$(call $(hook))$(sep))
|
||||
$(call Host/Configure)
|
||||
$(foreach hook,$(Hooks/HostConfigure/Post),$(call $(hook))$(sep))
|
||||
touch $$@
|
||||
|
||||
$(call Host/Exports,$(HOST_STAMP_BUILT))
|
||||
@ -151,17 +156,23 @@ ifndef DUMP
|
||||
update: host-update
|
||||
|
||||
$(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
|
||||
$(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep))
|
||||
$(call Host/Compile)
|
||||
$(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep))
|
||||
touch $$@
|
||||
|
||||
$(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE)
|
||||
$(call Host/Install)
|
||||
$(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep))
|
||||
mkdir -p $$(shell dirname $$@)
|
||||
touch $$@
|
||||
else
|
||||
$(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED) $(if $(FORCE_HOST_INSTALL),FORCE)
|
||||
$(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep))
|
||||
$(call Host/Compile)
|
||||
$(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep))
|
||||
$(call Host/Install)
|
||||
$(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep))
|
||||
touch $$@
|
||||
endif
|
||||
host-prepare: $(HOST_STAMP_PREPARED)
|
||||
@ -182,4 +193,3 @@ ifndef DUMP
|
||||
clean:
|
||||
|
||||
endif
|
||||
|
||||
|
@ -75,10 +75,6 @@ define Download/default
|
||||
MD5SUM:=$(PKG_MD5SUM)
|
||||
endef
|
||||
|
||||
define sep
|
||||
|
||||
endef
|
||||
|
||||
define Build/Exports/Default
|
||||
$(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p))
|
||||
$(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr
|
||||
|
4
rules.mk
4
rules.mk
@ -28,6 +28,10 @@ merge=$(subst $(space),,$(1))
|
||||
confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n)))
|
||||
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
||||
|
||||
define sep
|
||||
|
||||
endef
|
||||
|
||||
_SINGLE=export MAKEFLAGS=$(space);
|
||||
CFLAGS:=
|
||||
ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH)))))
|
||||
|
Loading…
Reference in New Issue
Block a user