xref: /OK3568_Linux_fs/buildroot/package/squashfs/squashfs.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# squashfs
4#
5################################################################################
6
7SQUASHFS_VERSION = 4.4
8SQUASHFS_SITE = $(call github,plougher,squashfs-tools,$(SQUASHFS_VERSION))
9SQUASHFS_LICENSE = GPL-2.0+
10SQUASHFS_LICENSE_FILES = COPYING
11SQUASHFS_CPE_ID_VENDOR = squashfs_project
12SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1
13
14ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y)
15SQUASHFS_DEPENDENCIES += lz4
16SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=1 COMP_DEFAULT=lz4
17else
18SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=0
19endif
20
21ifeq ($(BR2_PACKAGE_SQUASHFS_LZMA),y)
22SQUASHFS_DEPENDENCIES += xz
23SQUASHFS_MAKE_ARGS += LZMA_XZ_SUPPORT=1 COMP_DEFAULT=lzma
24else
25SQUASHFS_MAKE_ARGS += LZMA_XZ_SUPPORT=0
26endif
27
28ifeq ($(BR2_PACKAGE_SQUASHFS_XZ),y)
29SQUASHFS_DEPENDENCIES += xz
30SQUASHFS_MAKE_ARGS += XZ_SUPPORT=1 COMP_DEFAULT=xz
31else
32SQUASHFS_MAKE_ARGS += XZ_SUPPORT=0
33endif
34
35ifeq ($(BR2_PACKAGE_SQUASHFS_LZO),y)
36SQUASHFS_DEPENDENCIES += lzo
37SQUASHFS_MAKE_ARGS += LZO_SUPPORT=1 COMP_DEFAULT=lzo
38else
39SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0
40endif
41
42ifeq ($(BR2_PACKAGE_SQUASHFS_ZSTD),y)
43SQUASHFS_DEPENDENCIES += zstd
44SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=1 COMP_DEFAULT=zstd
45else
46SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=0
47endif
48
49ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y)
50SQUASHFS_DEPENDENCIES += zlib
51SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip
52else
53SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0
54endif
55
56HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd
57
58HOST_SQUASHFS_MAKE_ARGS = \
59	XATTR_SUPPORT=1 \
60	XZ_SUPPORT=1 \
61	GZIP_SUPPORT=1 \
62	LZ4_SUPPORT=1 \
63	LZO_SUPPORT=1 \
64	LZMA_XZ_SUPPORT=1 \
65	ZSTD_SUPPORT=1
66
67define SQUASHFS_BUILD_CMDS
68	$(TARGET_MAKE_ENV) $(MAKE) \
69		CC="$(TARGET_CC)" \
70		EXTRA_CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline" \
71		EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
72		$(SQUASHFS_MAKE_ARGS) \
73		-C $(@D)/squashfs-tools/
74endef
75
76define SQUASHFS_INSTALL_TARGET_CMDS
77	$(TARGET_MAKE_ENV) $(MAKE) $(SQUASHFS_MAKE_ARGS) \
78		-C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin install
79endef
80
81define HOST_SQUASHFS_BUILD_CMDS
82	$(HOST_MAKE_ENV) $(MAKE) \
83		CC="$(HOSTCC)" \
84		EXTRA_CFLAGS="$(HOST_CFLAGS)" \
85		EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \
86		$(HOST_SQUASHFS_MAKE_ARGS) \
87		-C $(@D)/squashfs-tools/
88endef
89
90define HOST_SQUASHFS_INSTALL_CMDS
91	$(HOST_MAKE_ENV) $(MAKE) $(HOST_SQUASHFS_MAKE_ARGS) \
92		-C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/bin install
93endef
94
95$(eval $(generic-package))
96$(eval $(host-generic-package))
97