summaryrefslogtreecommitdiffstats
path: root/package/libglib2/libglib2.mk
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-03-19 11:06:47 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2009-03-19 11:06:47 +0000
commite7b38c71ce55720f7709f0049f5bfc71ca0615ec (patch)
tree2ce70187ad1380f02c1777e7da3a48fb16d9f26a /package/libglib2/libglib2.mk
parentf58ff9a25f24576e032c65d762e5b8fdd2cf5c1c (diff)
downloadbuildroot-novena-e7b38c71ce55720f7709f0049f5bfc71ca0615ec.tar.gz
buildroot-novena-e7b38c71ce55720f7709f0049f5bfc71ca0615ec.zip
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.
Diffstat (limited to 'package/libglib2/libglib2.mk')
-rw-r--r--package/libglib2/libglib2.mk33
1 files changed, 17 insertions, 16 deletions
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 6b4aa8811..90d4fd84a 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -68,20 +68,20 @@ $(eval $(call AUTOTARGETS,package,libglib2))
LIBGLIB2_HOST_DIR:=$(BUILD_DIR)/libglib2-$(LIBGLIB2_VERSION)-host
LIBGLIB2_HOST_BINARY:=$(HOST_DIR)/usr/bin/glib-genmarshal
-$(LIBGLIB2_HOST_DIR)/.unpacked: $(DL_DIR)/$(LIBGLIB2_SOURCE)
- mkdir -p $(@D)
+$(STAMP_DIR)/host_libglib2_unpacked: $(DL_DIR)/$(LIBGLIB2_SOURCE)
+ mkdir -p $(LIBGLIB2_HOST_DIR)
$(INFLATE$(suffix $(LIBGLIB2_SOURCE))) $< | \
- $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(LIBGLIB2_HOST_DIR) $(TAR_OPTIONS) -
touch $@
-$(LIBGLIB2_HOST_DIR)/.configured: $(LIBGLIB2_HOST_DIR)/.unpacked
- (cd $(@D); rm -rf config.cache; \
+$(STAMP_DIR)/host_libglib2_configured: $(STAMP_DIR)/host_libglib2_unpacked $(STAMP_DIR)/host_pkgconfig_installed
+ (cd $(LIBGLIB2_HOST_DIR); rm -rf config.cache; \
$(HOST_CONFIGURE_OPTS) \
CFLAGS="$(HOST_CFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
- $(@D)/configure \
- --prefix=$(HOST_DIR)/usr \
- --sysconfdir=$(HOST_DIR)/etc \
+ ./configure \
+ --prefix="$(HOST_DIR)/usr" \
+ --sysconfdir="$(HOST_DIR)/etc" \
--enable-shared \
--disable-static \
--disable-gtk-doc \
@@ -89,21 +89,22 @@ $(LIBGLIB2_HOST_DIR)/.configured: $(LIBGLIB2_HOST_DIR)/.unpacked
)
touch $@
-$(LIBGLIB2_HOST_DIR)/.compiled: $(LIBGLIB2_HOST_DIR)/.configured
- $(MAKE) -C $(@D)
+$(STAMP_DIR)/host_libglib2_compiled: $(STAMP_DIR)/host_libglib2_configured
+ $(MAKE) -C $(LIBGLIB2_HOST_DIR)
touch $@
-$(LIBGLIB2_HOST_BINARY): $(LIBGLIB2_HOST_DIR)/.compiled
- $(HOST_MAKE_ENV) $(MAKE) -C $(<D) install
+$(STAMP_DIR)/host_libglib2_installed: $(STAMP_DIR)/host_libglib2_compiled
+ $(HOST_MAKE_ENV) $(MAKE) -C $(LIBGLIB2_HOST_DIR) install
+ touch $@
-host-libglib2: $(LIBGLIB2_HOST_BINARY)
+host-libglib2: $(STAMP_DIR)/host_libglib2_installed
host-libglib2-source: libglib2-source
host-libglib2-clean:
- rm -f $(addprefix $(LIBGLIB2_HOST_DIR)/,.unpacked .configured .compiled)
- $(MAKE) -C $(LIBGLIB2_HOST_DIR) uninstall
- $(MAKE) -C $(LIBGLIB2_HOST_DIR) clean
+ rm -f $(addprefix $(STAMP_DIR)/host_libglib2_,unpacked configured compiled installed)
+ -$(MAKE) -C $(LIBGLIB2_HOST_DIR) uninstall
+ -$(MAKE) -C $(LIBGLIB2_HOST_DIR) clean
host-libglib2-dirclean:
rm -rf $(LIBGLIB2_HOST_DIR)