kumquat-buildroot/package/pkgconfig/pkgconfig.mk
Peter Korsgaard e7b38c71ce package: add STAMP_DIR and use for host builds
Move stamp (dependency) files outside the (version specific) source
directories, so other packages can hardcode dependencies on them instead
of having to use <PACKAGE>_VERSION variables.

This is important as the variables in the make rules are evaluated when
the rules is seen, which might be before the dependent makefile is parsed
(and hence <PACKAGE>_VERSION variable is known, screwing up stuff.

The downside of this is that the package isn't automatically rebuilt
when the version changes (E.G. by a svn update) and you now also have to
remove the stamp files next to $(BUILD_DIR)/<PACKAGE>-* to force a rebuild.
2009-03-19 11:06:47 +00:00

61 lines
1.9 KiB
Makefile

#############################################################
#
# pkgconfig
#
#############################################################
PKG_CONFIG_VERSION = 0.23
PKG_CONFIG_SOURCE = pkg-config-$(PKG_CONFIG_VERSION).tar.gz
PKG_CONFIG_SITE = http://pkgconfig.freedesktop.org/releases/
ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
PKG_CONFIG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install-exec
endif
PKG_CONFIG_DEPENDENCIES = uclibc libglib2
PKG_CONFIG_CONF_OPT = --with-installed-glib
$(eval $(call AUTOTARGETS,package,pkgconfig))
# pkg-config for the host
PKG_CONFIG_HOST_DIR:=$(BUILD_DIR)/pkg-config-$(PKG_CONFIG_VERSION)-host
PKG_CONFIG_HOST_BINARY:=$(HOST_DIR)/usr/bin/pkg-config
$(STAMP_DIR)/host_pkgconfig_unpacked: $(DL_DIR)/$(PKG_CONFIG_SOURCE)
mkdir -p $(PKG_CONFIG_HOST_DIR)
$(INFLATE$(suffix $(PKG_CONFIG_SOURCE))) $< | \
$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(PKG_CONFIG_HOST_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(PKG_CONFIG_HOST_DIR) package/pkgconfig/ \*.patch
touch $@
$(STAMP_DIR)/host_pkgconfig_configured: $(STAMP_DIR)/host_pkgconfig_unpacked
(cd $(PKG_CONFIG_HOST_DIR); rm -rf config.cache; \
$(HOST_CONFIGURE_OPTS) \
CFLAGS="$(HOST_CFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
./configure \
--prefix="$(HOST_DIR)/usr" \
--sysconfdir="$(HOST_DIR)/etc" \
--with-pc-path="$(STAGING_DIR)/usr/lib/pkgconfig" \
--disable-static \
)
touch $@
$(STAMP_DIR)/host_pkgconfig_compiled: $(STAMP_DIR)/host_pkgconfig_configured
$(MAKE) -C $(PKG_CONFIG_HOST_DIR)
touch $@
$(STAMP_DIR)/host_pkgconfig_installed: $(STAMP_DIR)/host_pkgconfig_compiled
$(MAKE) -C $(PKG_CONFIG_HOST_DIR) install
touch $@
host-pkgconfig: $(STAMP_DIR)/host_pkgconfig_installed
host-pkgconfig-clean:
rm -f $(addprefix $(STAMP_DIR)/host_pkgconfig_,unpacked configured compiled installed)
-$(MAKE) -C $(PKG_CONFIG_HOST_DIR) uninstall
-$(MAKE) -C $(PKG_CONFIG_HOST_DIR) clean
host-pkgconfig-dirclean:
rm -rf $(PKG_CONFIG_HOST_DIR)