From: Peter Korsgaard Date: Mon, 23 Mar 2009 21:46:37 +0000 (-0000) Subject: automake: cleanup X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f7b31461443281f1b29c81f035015c36f8ec8634;p=buildroot.git automake: cleanup - Convert into Makefile.autotools.in format for target build - Build host version in BUILD_DIR and install into HOST_DIR --- diff --git a/package/automake/automake.mk b/package/automake/automake.mk index 2bf2bccb36..f7e2d0b03e 100644 --- a/package/automake/automake.mk +++ b/package/automake/automake.mk @@ -3,139 +3,59 @@ # automake # ############################################################# -AUTOMAKE_VERSION:=1.10 -AUTOMAKE_SOURCE:=automake-$(AUTOMAKE_VERSION).tar.bz2 -AUTOMAKE_SITE:=$(BR2_GNU_MIRROR)/automake -AUTOMAKE_CAT:=$(BZCAT) -AUTOMAKE_SRC_DIR:=$(TOOL_BUILD_DIR)/automake-$(AUTOMAKE_VERSION) -AUTOMAKE_DIR:=$(BUILD_DIR)/automake-$(AUTOMAKE_VERSION) -AUTOMAKE_HOST_DIR:=$(TOOL_BUILD_DIR)/automake-$(AUTOMAKE_VERSION)-host -AUTOMAKE_BINARY:=automake -AUTOMAKE_TARGET_BINARY:=usr/bin/automake -AUTOMAKE:=$(STAGING_DIR)/usr/bin/automake +AUTOMAKE_VERSION = 1.10 +AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.bz2 +AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake -# variables used by other packages -ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal -ACLOCAL = aclocal -I $(ACLOCAL_DIR) +ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff +AUTOMAKE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install +endif -$(DL_DIR)/$(AUTOMAKE_SOURCE): - $(call DOWNLOAD,$(AUTOMAKE_SITE),$(AUTOMAKE_SOURCE)) +AUTOMAKE_DEPENDENCIES = uclibc autoconf microperl -automake-source: $(DL_DIR)/$(AUTOMAKE_SOURCE) +$(eval $(call AUTOTARGETS,package,automake)) -$(AUTOMAKE_SRC_DIR)/.unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE) - $(AUTOMAKE_CAT) $(DL_DIR)/$(AUTOMAKE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - - $(CONFIG_UPDATE) $(AUTOMAKE_SRC_DIR) - touch $@ +# automake for the host +AUTOMAKE_HOST_DIR:=$(BUILD_DIR)/automake-$(AUTOMAKE_VERSION)-host -############################################################# -# -# automake for the target -# -############################################################# +# variables used by other packages +AUTOMAKE:=$(HOST_DIR)/usr/bin/automake +ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal +ACLOCAL = $(HOST_DIR)/usr/bin/aclocal -I $(ACLOCAL_DIR) -$(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_SRC_DIR)/.unpacked $(AUTOCONF) - mkdir -p $(AUTOMAKE_DIR) - (cd $(AUTOMAKE_DIR); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - WANT_AUTOCONF=2.5 \ - $(AUTOMAKE_SRC_DIR)/configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libdir=/lib \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --includedir=/usr/include \ - ) +$(STAMP_DIR)/host_automake_unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE) + mkdir -p $(AUTOMAKE_HOST_DIR) + $(INFLATE$(suffix $(AUTOMAKE_SOURCE))) $< | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(AUTOMAKE_HOST_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(AUTOMAKE_HOST_DIR) package/automake/ \*.patch touch $@ -$(AUTOMAKE_DIR)/$(AUTOMAKE_BINARY): $(AUTOMAKE_DIR)/.configured - $(MAKE) -C $(AUTOMAKE_DIR) - touch -c $@ - -$(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY): $(AUTOMAKE_DIR)/$(AUTOMAKE_BINARY) - $(MAKE) \ - prefix=$(TARGET_DIR)/usr \ - exec_prefix=$(TARGET_DIR)/usr \ - bindir=$(TARGET_DIR)/usr/bin \ - sbindir=$(TARGET_DIR)/usr/sbin \ - libexecdir=$(TARGET_DIR)/usr/lib \ - datadir=$(TARGET_DIR)/usr/share \ - sysconfdir=$(TARGET_DIR)/etc \ - localstatedir=$(TARGET_DIR)/var \ - libdir=$(TARGET_DIR)/usr/lib \ - infodir=$(TARGET_DIR)/usr/share/info \ - mandir=$(TARGET_DIR)/usr/share/man \ - includedir=$(TARGET_DIR)/usr/include \ - -C $(AUTOMAKE_DIR) install -ifneq ($(BR2_HAVE_INFOPAGES),y) - rm -rf $(TARGET_DIR)/usr/share/info -endif -ifneq ($(BR2_HAVE_MANPAGES),y) - rm -rf $(TARGET_DIR)/usr/share/man -endif - rm -rf $(TARGET_DIR)/share/locale - rm -rf $(TARGET_DIR)/usr/share/doc - touch -c $@ - -automake: uclibc autoconf $(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY) - -automake-clean: - $(MAKE) DESTDIR=$(TARGET_DIR) -C $(AUTOMAKE_DIR) uninstall - -$(MAKE) -C $(AUTOMAKE_DIR) clean - -automake-dirclean: - rm -rf $(AUTOMAKE_DIR) - -############################################################# -# -# automake for the host -# -############################################################# - -$(AUTOMAKE_HOST_DIR)/.configured: $(AUTOMAKE_SRC_DIR)/.unpacked $(AUTOCONF) - mkdir -p $(@D) - (cd $(@D); rm -rf config.cache; \ +$(STAMP_DIR)/host_automake_configured: $(STAMP_DIR)/host_automake_unpacked + (cd $(AUTOMAKE_HOST_DIR); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CFLAGS)" \ LDFLAGS="$(HOST_LDFLAGS)" \ - WANT_AUTOCONF=2.5 \ - $(AUTOMAKE_SRC_DIR)/configure \ - --prefix=$(STAGING_DIR)/usr \ + ./configure \ + --prefix="$(HOST_DIR)/usr" \ + --sysconfdir="$(HOST_DIR)/etc" \ + --disable-static \ ) touch $@ -$(AUTOMAKE_HOST_DIR)/$(AUTOMAKE_BINARY): $(AUTOMAKE_HOST_DIR)/.configured - $(MAKE) -C $(@D) - touch -c $@ +$(STAMP_DIR)/host_automake_compiled: $(STAMP_DIR)/host_automake_configured + $(MAKE) -C $(AUTOMAKE_HOST_DIR) + touch $@ -$(AUTOMAKE): $(AUTOMAKE_HOST_DIR)/$(AUTOMAKE_BINARY) +$(STAMP_DIR)/host_automake_installed: $(STAMP_DIR)/host_automake_compiled $(MAKE) -C $(AUTOMAKE_HOST_DIR) install + touch $@ -host-automake: host-autoconf host-libtool $(AUTOMAKE) +host-automake: $(STAMP_DIR)/host_automake_installed host-automake-clean: - $(MAKE) -C $(AUTOMAKE_HOST_DIR) uninstall + rm -f $(addprefix $(STAMP_DIR)/host_automake_,unpacked configured compiled installed) + -$(MAKE) -C $(AUTOMAKE_HOST_DIR) uninstall -$(MAKE) -C $(AUTOMAKE_HOST_DIR) clean host-automake-dirclean: rm -rf $(AUTOMAKE_HOST_DIR) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_AUTOMAKE),y) -TARGETS+=automake -endif