summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/expat/expat.mk40
1 files changed, 40 insertions, 0 deletions
diff --git a/package/expat/expat.mk b/package/expat/expat.mk
index 5142342c4..17d95c72c 100644
--- a/package/expat/expat.mk
+++ b/package/expat/expat.mk
@@ -23,3 +23,43 @@ $(eval $(call AUTOTARGETS,package,expat))
$(EXPAT_HOOK_POST_INSTALL): $(EXPAT_TARGET_INSTALL_TARGET)
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libexpat.so.*
touch $@
+
+# expat for the host
+EXPAT_HOST_DIR:=$(BUILD_DIR)/expat-$(EXPAT_VERSION)-host
+EXPAT_HOST_BINARY:=$(HOST_DIR)/usr/lib/libexpat.a
+
+$(EXPAT_HOST_DIR)/.unpacked: $(DL_DIR)/$(EXPAT_SOURCE)
+ mkdir -p $(@D)
+ $(INFLATE$(suffix $(EXPAT_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
+ touch $@
+
+$(EXPAT_HOST_DIR)/.configured: $(EXPAT_HOST_DIR)/.unpacked
+ (cd $(@D); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ $(@D)/configure \
+ --prefix=$(HOST_DIR)/usr \
+ --sysconfdir=$(HOST_DIR)/etc \
+ )
+ touch $@
+
+$(EXPAT_HOST_DIR)/.compiled: $(EXPAT_HOST_DIR)/.configured
+ $(MAKE) -C $(@D)
+ touch $@
+
+$(EXPAT_HOST_BINARY): $(EXPAT_HOST_DIR)/.compiled
+ $(MAKE) -C $(<D) installlib
+
+host-expat: $(EXPAT_HOST_BINARY)
+
+host-expat-source: expat-source
+
+host-expat-clean:
+ rm -f $(addprefix $(EXPAT_HOST_DIR)/,.unpacked .configured .compiled)
+ $(MAKE) -C $(EXPAT_HOST_DIR) uninstall
+ $(MAKE) -C $(EXPAT_HOST_DIR) clean
+
+host-expat-dirclean:
+ rm -rf $(EXPAT_HOST_DIR)