-#############################################################
+################################################################################
#
# Build the squashfs root filesystem image
#
-#############################################################
+################################################################################
-ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4),y)
ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs
+
+ROOTFS_SQUASHFS_ARGS = -noappend -processors $(PARALLEL_JOBS)
+
+ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZ4),y)
+ROOTFS_SQUASHFS_ARGS += -comp lz4 -Xhc
+else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y)
+ROOTFS_SQUASHFS_ARGS += -comp lzo
+else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y)
+ROOTFS_SQUASHFS_ARGS += -comp lzma
+else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y)
+ROOTFS_SQUASHFS_ARGS += -comp xz
+else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD),y)
+ROOTFS_SQUASHFS_ARGS += -comp zstd
else
-ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs3
+ROOTFS_SQUASHFS_ARGS += -comp gzip
endif
define ROOTFS_SQUASHFS_CMD
- $(HOST_DIR)/usr/bin/mksquashfs $(TARGET_DIR) $$@ -noappend
+ $(HOST_DIR)/bin/mksquashfs $(TARGET_DIR) $@ $(ROOTFS_SQUASHFS_ARGS)
endef
-$(eval $(call ROOTFS_TARGET,squashfs))
\ No newline at end of file
+$(eval $(rootfs))