xref: /OK3568_Linux_fs/buildroot/fs/f2fs/f2fs.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# Build the f2fs root filesystem image
4#
5################################################################################
6
7F2FS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_SIZE))
8ifeq ($(BR2_TARGET_ROOTFS_F2FS)-$(F2FS_SIZE),y-)
9$(error BR2_TARGET_ROOTFS_F2FS_SIZE cannot be empty)
10endif
11
12# qstrip results in stripping consecutive spaces into a single one. So the
13# variable is not qstrip-ed to preserve the integrity of the string value.
14F2FS_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_F2FS_LABEL))
15# ")
16F2FS_COLD_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_COLD_FILES))
17F2FS_HOT_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_HOT_FILES))
18
19ifeq ($(BR2_TARGET_ROOTFS_F2FS_DISCARD),y)
20F2FS_DISCARD = 1
21else
22F2FS_DISCARD = 0
23endif
24
25F2FS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_FEATURES))
26
27F2FS_OPTS = \
28	-f \
29	-l "$(F2FS_LABEL)" \
30	-t $(F2FS_DISCARD) \
31	-o $(BR2_TARGET_ROOTFS_F2FS_OVERPROVISION) \
32	$(if $(F2FS_COLD_FILES),-e "$(F2FS_COLD_FILES)") \
33	$(if $(F2FS_HOT_FILES),-E "$(F2FS_HOT_FILES)") \
34	$(if $(F2FS_FEATURES),-O "$(F2FS_FEATURES)")
35
36ROOTFS_F2FS_DEPENDENCIES = host-f2fs-tools
37
38define ROOTFS_F2FS_CMD
39	$(RM) -f $@
40	truncate -s $(F2FS_SIZE) $@
41	$(HOST_DIR)/sbin/mkfs.f2fs $(F2FS_OPTS) $@
42	$(HOST_DIR)/sbin/sload.f2fs -f $(TARGET_DIR) $@
43endef
44
45$(eval $(rootfs))
46