summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-11-12 18:19:07 +0100
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2011-11-12 18:20:49 +0100
commit72904cc3c68385a53d4ad57b4bdc47fdb005e90e (patch)
tree64a52d12b00370df5867d4846f1d5f3036099eee /mk
parent94636cc75e9e02e3809deac6cf175975ccc865bb (diff)
downloadembtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.gz
embtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.bz2
embtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.xz
Rootfs: squashfs: improve generation of squashfs rootfs
Give ability to build squashfs3.0 type of rootfs (for linux kernel prior to linux-2.6.29) Give ability to build squashfs4.0 type of rootfs (for linux kernel linux-2.6.29 and later) Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'mk')
-rw-r--r--mk/fs.mk4
-rw-r--r--mk/rootfs.mk2
-rw-r--r--mk/squashfs.mk89
3 files changed, 37 insertions, 58 deletions
diff --git a/mk/fs.mk b/mk/fs.mk
index 7f26999..32e9b1b 100644
--- a/mk/fs.mk
+++ b/mk/fs.mk
@@ -62,7 +62,9 @@ build_jffs2_rootfs:
build_squashfs_rootfs:
$(call embtk_pinfo,"Generating SQUASHFS rootfs...")
$(FAKEROOT_BIN) -i $(FAKEROOT_ENV_FILE) -- \
- $(MKSQUASHFS_BIN) $(ROOTFS) $(SQUASHFS_ROOTFS)
+ $(MKSQUASHFS_BIN) $(ROOTFS) $(SQUASHFS_ROOTFS) \
+ $(if $(CONFIG_EMBTK_TARGET_ARCH_LITTLE_ENDIAN),-le,-be) \
+ -all-root
build_initramfs_archive:
$(call embtk_pinfo,"Generating cpio archive for INITRAMFS...")
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index e477481..56d0e47 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -45,7 +45,7 @@ ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_JFFS2) += mtdutils_host_install
FILESYSTEMS-$(CONFIG_EMBTK_ROOTFS_HAVE_JFFS2) += build_jffs2_rootfs
#Does squashfs filesystem selected?
-ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += squashfs_host_install
+ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += squashfs_tools_install
FILESYSTEMS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += build_squashfs_rootfs
ifeq ($(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS),y)
include $(EMBTK_ROOT)/mk/squashfs.mk
diff --git a/mk/squashfs.mk b/mk/squashfs.mk
index ea0a429..c0beffe 100644
--- a/mk/squashfs.mk
+++ b/mk/squashfs.mk
@@ -23,60 +23,37 @@
# \date August 2009
################################################################################
-SQUASHFS_VERSION := 4.0
-SQUASHFS_SITE := http://downloads.sourceforge.net/project/squashfs/squashfs
-SQUASHFS_PACKAGE := squashfs$(SQUASHFS_VERSION).tar.gz
-SQUASHFS_HOST_BUILD_DIR := $(TOOLS_BUILD)/squashfs-build
-SQUASHFS_TARGET_BUILD_DIR := $(PACKAGES_BUILD)/squashfs-build
-
-MKSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/mksquashfs
-UNSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/unsquashfs
-
-squashfs_host_install:
- @test -e $(SQUASHFS_HOST_BUILD_DIR)/.installed || \
- $(MAKE) $(SQUASHFS_HOST_BUILD_DIR)/.installed
-
-squashfs_target_install: $(SQUASHFS_TARGET_BUILD_DIR)/.installed
-
-#squashfs for host
-$(SQUASHFS_HOST_BUILD_DIR)/.installed: download_squashfs \
- $(SQUASHFS_HOST_BUILD_DIR)/.decompressed
- @CC=$(HOSTCC_CACHED) \
- $(MAKE) -C $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools
- test -z $(HOSTTOOLS)/usr/bin || mkdir -p $(HOSTTOOLS)/usr/bin
- @install $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools/\
- mksquashfs $(HOSTTOOLS)/usr/bin/
- @install $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools/\
- unsquashfs $(HOSTTOOLS)/usr/bin/
- @touch $@
-
-$(SQUASHFS_HOST_BUILD_DIR)/.decompressed:
- $(call embtk_pinfo,"Decompressing $(SQUASHFS_PACKAGE)...")
- @tar -C $(TOOLS_BUILD) -xzvf $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE)
- @mkdir -p $(SQUASHFS_HOST_BUILD_DIR)
- @touch $@
-
-squashfs_host_clean:
+SQUASHFS_TOOLS_NAME := squashfs
+SQUASHFS_TOOLS_VERSION := $(call embtk_get_pkgversion,squashfs_tools)
+SQUASHFS_TOOLS_SITE := http://sourceforge.net/projects/squashfs/files/squashfs/squashfs$(SQUASHFS_TOOLS_VERSION)
+SQUASHFS_TOOLS_PACKAGE := squashfs$(SQUASHFS_TOOLS_VERSION).tar.gz
+SQUASHFS_TOOLS_SRC_DIR := $(TOOLS_BUILD)/squashfs$(SQUASHFS_TOOLS_VERSION)
+SQUASHFS_TOOLS_BUILD_DIR := $(SQUASHFS_TOOLS_SRC_DIR)/squashfs-tools
+
+MKSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/mksquashfs
+UNSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/unsquashfs
+
+SQUASHFS_TOOLS_DEPS := zlib_host_install
+
+squashfs_tools_install: $(SQUASHFS_TOOLS_DEPS)
+ $(Q)test -e $(SQUASHFS_TOOLS_BUILD_DIR)/.installed || \
+ $(MAKE) $(SQUASHFS_TOOLS_BUILD_DIR)/.installed
+
+$(SQUASHFS_TOOLS_BUILD_DIR)/.installed: download_squashfs_tools \
+ $(SQUASHFS_TOOLS_BUILD_DIR)/.decompressed
+ $(Q)$(MAKE) -C $(SQUASHFS_TOOLS_BUILD_DIR) \
+ CC=$(HOSTCC_CACHED) \
+ CPPFLAGS="-I$(HOSTTOOLS)/usr/include" \
+ LDFLAGS="-L$(HOSTTOOLS)/usr/lib"
+ $(Q)mkdir -p $(HOSTTOOLS)
+ $(Q)mkdir -p $(HOSTTOOLS)/usr
+ $(Q)mkdir -p $(HOSTTOOLS)/usr/bin
+ $(Q)install $(SQUASHFS_TOOLS_BUILD_DIR)/mksquashfs $(HOSTTOOLS)/usr/bin
+ $(Q)install $(SQUASHFS_TOOLS_BUILD_DIR)/unsquashfs $(HOSTTOOLS)/usr/bin
+ $(Q)touch $@
+
+$(SQUASHFS_TOOLS_BUILD_DIR)/.decompressed:
+ $(call embtk_decompress_pkg,squashfs_tools)
+
+squashfs_tools_clean:
$(call embtk_pinfo,"Cleaning squashfs in host ...")
-
-#squashfs for target
-$(SQUASHFS_TARGET_BUILD_DIR)/.installed: download_squashfs \
- $(SQUASHFS_TARGET_BUILD_DIR)/.decompressed
- @touch $@
-
-$(SQUASHFS_TARGET_BUILD_DIR)/.decompressed:
- $(call embtk_pinfo,"Decompressing $(SQUASHFS_PACKAGE)...")
- @tar -C $(PACKAGES_BUILD) -xzvf $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE)
- @mkdir -p $(SQUASHFS_TARGET_BUILD_DIR)
- @touch $@
-
-squashfs_target_clean:
- $(call embtk_pinfo,"Cleaning squashfs in target ...")
-
-download_squashfs:
- $(call embtk_pinfo,"Downloading $(SQUASHFS_PACKAGE) \
- if necessary...")
- @test -e $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) || \
- wget -O $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) \
- $(SQUASHFS_SITE)/squashfs$(SQUASHFS_VERSION)/$(SQUASHFS_PACKAGE)
-