move common unpacking code to unpack.mk, replace zcat with $(ZCAT) for systems that...
[openwrt-10.03/.git] / include / unpack.mk
diff --git a/include/unpack.mk b/include/unpack.mk
new file mode 100644 (file)
index 0000000..6449981
--- /dev/null
@@ -0,0 +1,15 @@
+ifeq ($(strip $(PKG_UNPACK)),)
+  ifneq ($(strip $(PKG_CAT)),)
+    # use existing PKG_CAT
+    UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) -
+    ifeq ($(PKG_CAT),unzip)
+      UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
+    endif
+    # replace zcat with $(ZCAT), because some system have it as gzcat
+    ifeq ($(PKG_CAT),zcat)
+      UNPACK:=$(ZCAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) -
+    endif
+  else
+    # try to autodetect file type
+  endif
+endif