summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/squashfs/Config.in6
-rw-r--r--target/squashfs/Makefile.in3
-rw-r--r--target/squashfs/squashfsroot.mk50
3 files changed, 59 insertions, 0 deletions
diff --git a/target/squashfs/Config.in b/target/squashfs/Config.in
new file mode 100644
index 000000000..a4cb4d8b6
--- /dev/null
+++ b/target/squashfs/Config.in
@@ -0,0 +1,6 @@
+config BR2_TARGET_ROOTFS_SQUASHFS
+ bool "squashfs (ro) root filesystem for the target device"
+ default n
+ help
+ Build a squashfs root filesystem
+
diff --git a/target/squashfs/Makefile.in b/target/squashfs/Makefile.in
new file mode 100644
index 000000000..f78961776
--- /dev/null
+++ b/target/squashfs/Makefile.in
@@ -0,0 +1,3 @@
+ifeq ($(strip $(BR2_TARGET_ROOTFS_SQUASHFS)),y)
+TARGETS+=squashfsroot openwrt-code.bin.squashfs
+endif
diff --git a/target/squashfs/squashfsroot.mk b/target/squashfs/squashfsroot.mk
new file mode 100644
index 000000000..f3d280859
--- /dev/null
+++ b/target/squashfs/squashfsroot.mk
@@ -0,0 +1,50 @@
+#############################################################
+#
+# squashfs target
+#
+#############################################################
+
+SQUASHFS_DIR=$(BUILD_DIR)/squashfs2.1-r2
+SQUASHFS_SOURCE=squashfs2.1-r2.tar.gz
+SQUASHFS_SITE=http://dl.sourceforge.net/sourceforge/squashfs
+
+$(DL_DIR)/$(SQUASHFS_SOURCE):
+ $(WGET) -P $(DL_DIR) $(SQUASHFS_SITE)/$(SQUASHFS_SOURCE)
+
+$(SQUASHFS_DIR)/.unpacked: $(DL_DIR)/$(SQUASHFS_SOURCE)
+ zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+ touch $(SQUASHFS_DIR)/.unpacked
+
+$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)/.unpacked
+ $(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools;
+
+squashfs: $(SQUASHFS_DIR)/squashfs-tools/mksquashfs
+
+squashfs-source: $(DL_DIR)/$(SQUASHFS_SOURCE)
+
+squashfs-clean:
+ -$(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools clean
+
+squashfs-dirclean:
+ rm -rf $(SQUASHFS_DIR)
+
+
+#############################################################
+#
+# Build the squashfs root filesystem image
+#
+#############################################################
+
+squashfsroot: squashfs
+ @rm -rf $(TARGET_DIR)/usr/man
+ @rm -rf $(TARGET_DIR)/usr/info
+ $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE).squashfs -noappend -root-owned -le
+
+squashfsroot-source: squashfs-source
+
+squashfsroot-clean:
+ -$(MAKE) -C $(SQUASHFS_DIR) clean
+
+squashfsroot-dirclean:
+ rm -rf $(SQUASHFS_DIR)
+