kumquat-buildroot/package/dbus-glib/dbus-glib.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

75 lines
2.3 KiB
Makefile

#############################################################
#
# dbus-glib
#
#############################################################
DBUS_GLIB_VERSION = 0.80
DBUS_GLIB_SOURCE = dbus-glib-$(DBUS_GLIB_VERSION).tar.gz
DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib/
DBUS_GLIB_INSTALL_STAGING = YES
DBUS_GLIB_INSTALL_TARGET = YES
DBUS_GLIB_CONF_ENV = ac_cv_have_abstract_sockets=yes \
ac_cv_func_posix_getpwnam_r=yes \
have_abstract_sockets=yes
DBUS_GLIB_CONF_OPT = --localstatedir=/var \
--program-prefix="" \
--disable-tests \
--disable-xml-docs \
--with-introspect-xml=$(DBUS_HOST_INTROSPECT) \
--with-dbus-binding-tool=$(DBUS_GLIB_HOST_BINARY) \
--disable-bash-completion \
--disable-doxygen-docs \
--enable-asserts=yes
DBUS_GLIB_DEPENDENCIES = uclibc host-pkgconfig dbus host-dbus host-dbus-glib libglib2
$(eval $(call AUTOTARGETS,package,dbus-glib))
# dbus-glib for the host
DBUS_GLIB_HOST_DIR:=$(BUILD_DIR)/dbus-glib-$(DBUS_GLIB_VERSION)-host
DBUS_GLIB_HOST_BINARY:=$(HOST_DIR)/usr/bin/dbus-binding-tool
$(STAMP_DIR)/host_dbusglib_unpacked: $(DL_DIR)/$(DBUS_GLIB_SOURCE)
mkdir -p $(DBUS_GLIB_HOST_DIR)
$(INFLATE$(suffix $(DBUS_GLIB_SOURCE))) $< | \
$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(DBUS_GLIB_HOST_DIR) $(TAR_OPTIONS) -
touch $@
$(STAMP_DIR)/host_dbusglib_configured: $(STAMP_DIR)/host_dbusglib_unpacked $(STAMP_DIR)/host_dbus_installed
(cd $(DBUS_GLIB_HOST_DIR); rm -rf config.cache; \
$(HOST_CONFIGURE_OPTS) \
CFLAGS="$(HOST_CFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
./configure \
--prefix="$(HOST_DIR)/usr" \
--sysconfdir="$(HOST_DIR)/etc" \
--disable-tests \
--disable-xml-docs \
--disable-bash-completion \
--disable-doxygen-docs \
--enable-asserts=yes \
)
touch $@
$(STAMP_DIR)/host_dbusglib_compiled: $(STAMP_DIR)/host_dbusglib_configured
$(HOST_MAKE_ENV) $(MAKE) -C $(DBUS_GLIB_HOST_DIR)
touch $@
$(STAMP_DIR)/host_dbusglib_installed: $(STAMP_DIR)/host_dbusglib_compiled
$(HOST_MAKE_ENV) $(MAKE) -C $(DBUS_GLIB_HOST_DIR) install
touch $@
host-dbus-glib: $(STAMP_DIR)/host_dbusglib_installed
host-dbus-glib-source: dbus-glib-source
host-dbus-glib-clean:
rm -f $(addprefix $(STAMP_DIR)/host_dbusglib_,unpacked configured compiled installed)
-$(MAKE) -C $(DBUS_GLIB_HOST_DIR) uninstall
-$(MAKE) -C $(DBUS_GLIB_HOST_DIR) clean
host-dbus-glib-dirclean:
rm -rf $(DBUS_GLIB_HOST_DIR)