xref: /OK3568_Linux_fs/buildroot/package/mtd/mtd.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# mtd
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunMTD_VERSION = 2.1.3
8*4882a593SmuzhiyunMTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2
9*4882a593SmuzhiyunMTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils
10*4882a593SmuzhiyunMTD_LICENSE = GPL-2.0
11*4882a593SmuzhiyunMTD_LICENSE_FILES = COPYING
12*4882a593SmuzhiyunMTD_CPE_ID_VENDOR = mtd-utils_project
13*4882a593SmuzhiyunMTD_CPE_ID_PRODUCT = mtd-utils
14*4882a593SmuzhiyunMTD_INSTALL_STAGING = YES
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_JFFS_UTILS),y)
17*4882a593SmuzhiyunMTD_DEPENDENCIES += zlib lzo host-pkgconf
18*4882a593SmuzhiyunMTD_CONF_OPTS += --with-jffs
19*4882a593Smuzhiyunelse
20*4882a593SmuzhiyunMTD_CONF_OPTS += --without-jffs
21*4882a593Smuzhiyunendif
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_UBIFS_UTILS),y)
24*4882a593SmuzhiyunMTD_DEPENDENCIES += util-linux zlib lzo host-pkgconf
25*4882a593SmuzhiyunMTD_CONF_OPTS += --with-ubifs
26*4882a593Smuzhiyun# crypto needs linux/hash_info.h
27*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12)$(BR2_PACKAGE_OPENSSL),yy)
28*4882a593SmuzhiyunMTD_DEPENDENCIES += openssl
29*4882a593SmuzhiyunMTD_CONF_OPTS += --with-crypto
30*4882a593Smuzhiyunelse
31*4882a593SmuzhiyunMTD_CONF_OPTS += --without-crypto
32*4882a593Smuzhiyunendif
33*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ZSTD),y)
34*4882a593SmuzhiyunMTD_DEPENDENCIES += zstd
35*4882a593SmuzhiyunMTD_CONF_OPTS += --with-zstd
36*4882a593Smuzhiyunelse
37*4882a593SmuzhiyunMTD_CONF_OPTS += --without-zstd
38*4882a593Smuzhiyunendif
39*4882a593Smuzhiyunelse
40*4882a593SmuzhiyunMTD_CONF_OPTS += --without-ubifs
41*4882a593Smuzhiyunendif
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_UBIHEALTHD),y)
44*4882a593SmuzhiyunMTD_CONF_OPTS += --enable-ubihealthd
45*4882a593Smuzhiyunelse
46*4882a593SmuzhiyunMTD_CONF_OPTS += --disable-ubihealthd
47*4882a593Smuzhiyunendif
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_TESTS),y)
50*4882a593SmuzhiyunMTD_CONF_OPTS += --enable-tests
51*4882a593Smuzhiyunelse
52*4882a593SmuzhiyunMTD_CONF_OPTS += --disable-tests
53*4882a593Smuzhiyunendif
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun# If extended attributes are required, the acl package must
56*4882a593Smuzhiyun# also be enabled which will also include the attr package.
57*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ACL),y)
58*4882a593SmuzhiyunMTD_DEPENDENCIES += acl
59*4882a593SmuzhiyunMTD_CONF_OPTS += --with-xattr
60*4882a593Smuzhiyunelse
61*4882a593SmuzhiyunMTD_CONF_OPTS += --without-xattr
62*4882a593Smuzhiyunendif
63*4882a593Smuzhiyun
64*4882a593SmuzhiyunHOST_MTD_DEPENDENCIES = host-acl host-zlib host-lzo host-util-linux host-zstd
65*4882a593SmuzhiyunHOST_MTD_CONF_OPTS = \
66*4882a593Smuzhiyun	--with-jffs \
67*4882a593Smuzhiyun	--with-ubifs \
68*4882a593Smuzhiyun	--without-crypto \
69*4882a593Smuzhiyun	--disable-tests
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunMKFS_JFFS2 = $(HOST_DIR)/sbin/mkfs.jffs2
72*4882a593SmuzhiyunSUMTOOL = $(HOST_DIR)/sbin/sumtool
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK)		+= docfdisk
75*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS)	+= doc_loadbios
76*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP)		+= flashcp
77*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE)	+= flash_erase
78*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK)	+= flash_lock
79*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP)	+= flash_otp_dump
80*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO)	+= flash_otp_info
81*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_LOCK)	+= flash_otp_lock
82*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_WRITE)	+= flash_otp_write
83*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_ERASE)	+= flash_otp_erase
84*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK)	+= flash_unlock
85*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK)	+= ftl_check
86*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT)	+= ftl_format
87*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP)	+= jffs2dump
88*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2)	+= mkfs.jffs2
89*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG)	+= mtd_debug
90*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTDPART)		+= mtdpart
91*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP)		+= nanddump
92*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDTEST)		+= nandtest
93*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE)	+= nandwrite
94*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP)		+= nftldump
95*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT)	+= nftl_format
96*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RECV_IMAGE)	+= recv_image
97*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP)		+= rfddump
98*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT)	+= rfdformat
99*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE)	+= serve_image
100*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL)		+= sumtool
101*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTDINFO)		+= mtdinfo
102*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIATTACH)	+= ubiattach
103*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBICRC32)		+= ubicrc32
104*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIDETACH)	+= ubidetach
105*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIFORMAT)	+= ubiformat
106*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIHEALTHD)	+= ubihealthd
107*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIMKVOL)		+= ubimkvol
108*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBINFO)		+= ubinfo
109*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBINIZE)		+= ubinize
110*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRENAME)	+= ubirename
111*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRMVOL)		+= ubirmvol
112*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRSVOL)		+= ubirsvol
113*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIUPDATEVOL)	+= ubiupdatevol
114*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIBLOCK)		+= ubiblock
115*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS)	+= mkfs.ubifs
116*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_READTEST)	+= flash_readtest
117*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_SPEED)	+= flash_speed
118*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_STRESS)	+= flash_stress
119*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_TORTURE)	+= flash_torture
120*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_INTEGCK)		+= integck
121*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDBITERRS)	+= nandbiterrs
122*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDPAGETEST)	+= nandpagetest
123*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDSUBPAGETEST)	+= nandsubpagetest
124*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDFLIPBITS)	+= nandflipbits
125*4882a593Smuzhiyun
126*4882a593Smuzhiyundefine MTD_INSTALL_TARGET_CMDS
127*4882a593Smuzhiyun	$(foreach f,$(MTD_TARGETS_y), \
128*4882a593Smuzhiyun		$(INSTALL) -D -m 0755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(notdir $(f))
129*4882a593Smuzhiyun	)
130*4882a593Smuzhiyunendef
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun# Those libraries are not installed by "make install", but are needed
133*4882a593Smuzhiyun# by other packages, such as swupdate.
134*4882a593Smuzhiyundefine MTD_INSTALL_LIBS
135*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/libmtd.h
136*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/libubi.h
137*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h
138*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(@D)/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a
139*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(@D)/libubi.a $(STAGING_DIR)/usr/lib/libubi.a
140*4882a593Smuzhiyunendef
141*4882a593Smuzhiyun
142*4882a593SmuzhiyunMTD_POST_INSTALL_STAGING_HOOKS += MTD_INSTALL_LIBS
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun$(eval $(autotools-package))
145*4882a593Smuzhiyun$(eval $(host-autotools-package))
146