1 #############################################################
3 # mksquashfs to build to target squashfs filesystems
5 #############################################################
6 SQUASHFS_VERSION
:=3.2-r2
7 SQUASHFS_DIR
:=$(BUILD_DIR
)/squashfs
$(SQUASHFS_VERSION
)
8 SQUASHFS_SOURCE
:=squashfs
$(SQUASHFS_VERSION
).
tar.gz
9 SQUASHFS_SITE
:=http
://$(BR2_SOURCEFORGE_MIRROR
).dl.sourceforge.net
/sourceforge
/squashfs
12 $(DL_DIR
)/$(SQUASHFS_SOURCE
):
13 $(WGET
) -P
$(DL_DIR
) $(SQUASHFS_SITE
)/$(SQUASHFS_SOURCE
)
15 $(SQUASHFS_DIR
)/.unpacked
: $(DL_DIR
)/$(SQUASHFS_SOURCE
) #$(SQUASHFS_PATCH)
16 $(SQUASHFS_CAT
) $(DL_DIR
)/$(SQUASHFS_SOURCE
) |
tar -C
$(BUILD_DIR
) -xvf
-
17 toolchain
/patch-kernel.sh
$(SQUASHFS_DIR
) target
/squashfs
/ squashfs\
*.patch
20 $(SQUASHFS_DIR
)/squashfs-tools
/mksquashfs
: $(SQUASHFS_DIR
)/.unpacked
21 $(MAKE
) -C
$(SQUASHFS_DIR
)/squashfs-tools
23 squashfs
: $(SQUASHFS_DIR
)/squashfs-tools
/mksquashfs
25 squashfs-source
: $(DL_DIR
)/$(SQUASHFS_SOURCE
)
28 -$(MAKE
) -C
$(SQUASHFS_DIR
)/squashfs-tools
clean
31 rm -rf
$(SQUASHFS_DIR
)
33 #############################################################
35 # Build the squashfs root filesystem image
37 #############################################################
38 ifeq ($(BR2_ENDIAN
),"BIG")
39 SQUASHFS_ENDIANNESS
=-be
41 SQUASHFS_ENDIANNESS
=-le
44 SQUASHFS_TARGET
:=$(IMAGE
).squashfs
46 squashfsroot
: host-fakeroot makedevs squashfs
47 -@find
$(TARGET_DIR
) -type f
-perm
+111 | xargs
$(STRIPCMD
) 2>/dev
/null || true
48 ifneq ($(BR2_HAVE_MANPAGES
),y
)
49 @
rm -rf
$(TARGET_DIR
)/usr
/share
/man
51 ifneq ($(BR2_HAVE_INFOPAGES
),y
)
52 @
rm -rf
$(TARGET_DIR
)/usr
/share
/info
54 $(if
$(TARGET_LDCONFIG
),test ! -x
$(TARGET_LDCONFIG
) && true ||
$(TARGET_LDCONFIG
) -r
$(TARGET_DIR
) 2>/dev
/null
)
55 # Use fakeroot to pretend all target binaries are owned by root
56 rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
57 touch
$(PROJECT_BUILD_DIR
)/.fakeroot
.00000
58 cat
$(PROJECT_BUILD_DIR
)/.fakeroot
* > $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
59 echo
"chown -R 0:0 $(TARGET_DIR)" >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
60 ifneq ($(TARGET_DEVICE_TABLE
),)
61 # Use fakeroot to pretend to create all needed device nodes
62 echo
"$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
63 >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
65 # Use fakeroot so mksquashfs believes the previous fakery
66 echo
"$(SQUASHFS_DIR)/squashfs-tools/mksquashfs " \
67 "$(TARGET_DIR) $(SQUASHFS_TARGET) " \
68 "-noappend $(SQUASHFS_ENDIANNESS)" \
69 >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
70 chmod a
+x
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
71 $(STAGING_DIR
)/usr
/bin
/fakeroot
-- $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
72 -@
rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(SQUASHFS_TARGET
))
74 squashfsroot-source
: squashfs-source
77 -$(MAKE
) -C
$(SQUASHFS_DIR
) clean
79 squashfsroot-dirclean
:
80 rm -rf
$(SQUASHFS_DIR
)
82 #############################################################
84 # Toplevel Makefile options
86 #############################################################
87 ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS
),y
)