wrt55agv2-spidevs: fix build with recent kernel
[openwrt/openwrt.git] / package / e2fsprogs / Makefile
1 #
2 # Copyright (C) 2006-2010 OpenWrt.org
3 # Copyright 2010 Vertical Communications
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=e2fsprogs
11 PKG_VERSION:=1.41.12
12 PKG_MD5SUM:=1b24a21fc0c2381ef420961cbfec733f
13 PKG_RELEASE:=2
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=@SF/e2fsprogs
17
18 PKG_INSTALL:=1
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define Package/e2fsprogs/Default
23 URL:=http://e2fsprogs.sourceforge.net/
24 SUBMENU:=Filesystem
25 endef
26
27 define Package/e2fsprogs
28 $(call Package/e2fsprogs/Default)
29 SECTION:=utils
30 CATEGORY:=Utilities
31 TITLE:=Ext2/3/4 filesystem utilities
32 DEPENDS:=+libblkid +libuuid +libext2fs +libpthread +libcom_err
33 endef
34
35 define Package/e2fsprogs/description
36 This package contains essential ext2 filesystem utilities which consists of
37 e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2
38 filesystem utilities.
39 endef
40
41 define Package/libuuid
42 $(call Package/e2fsprogs/Default)
43 SECTION:=libs
44 CATEGORY:=Libraries
45 TITLE:=DCE compatible Universally Unique Identifier library
46 endef
47
48 define Package/libuuid/description
49 Library for generating DCE compatible Universally Unique Identifiers.
50 endef
51
52 define Package/uuidgen
53 $(call Package/e2fsprogs)
54 DEPENDS:=+libuuid
55 TITLE:=Command line utility to create a new UUID value
56 endef
57
58 define Package/uuidgen/description
59 uuidgen program creates a new universally unique identifier (UUID)
60 using the libuuid library. The new UUID can reasonably be considered
61 unique among all UUIDs created on the local system, and among UUIDs
62 created on other systems in the past and in the future.
63 endef
64
65 define Package/libblkid
66 $(call Package/e2fsprogs/Default)
67 SECTION:=libs
68 CATEGORY:=Libraries
69 TITLE:=Block device id library
70 endef
71
72 define Package/libblkid/description
73 The blkid library which allows system programs like fsck and mount to
74 quickly and easily find block devices by filesystem UUID and LABEL.
75 endef
76
77 define Package/libext2fs
78 $(call Package/e2fsprogs/Default)
79 SECTION:=libs
80 CATEGORY:=Libraries
81 TITLE:=ext2/3/4 filesystem library
82 endef
83
84 define Package/libext2fs/description
85 libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
86 endef
87
88 define Package/libcom_err
89 $(call Package/e2fsprogs/Default)
90 SECTION:=libs
91 CATEGORY:=Libraries
92 TITLE:=Common error description library
93 endef
94
95 define Package/libcom_err/description
96 libcom_err is a library providing common error descriptions
97 endef
98
99 define Package/tune2fs
100 $(call Package/e2fsprogs)
101 TITLE:=Ext2 Filesystem tune utility
102 DEPENDS:= +e2fsprogs
103 endef
104
105 define Package/resize2fs
106 $(call Package/e2fsprogs)
107 TITLE:=Ext2 Filesystem resize utility
108 DEPENDS:= +e2fsprogs
109 endef
110
111 define Package/badblocks
112 $(call Package/e2fsprogs)
113 TITLE:=Ext2 Filesystem badblocks utility
114 DEPENDS:= +e2fsprogs
115 endef
116
117 define Package/blkid
118 $(call Package/e2fsprogs)
119 TITLE:=Command-line utility to locate/print block device attributes
120 DEPENDS:=+libuuid +libblkid +libext2fs +libcom_err +libpthread
121 endef
122
123 TARGET_CFLAGS += $(FPIC)
124
125 CONFIGURE_ARGS += \
126 --enable-shared \
127 --enable-static \
128 --disable-rpath \
129 --enable-elf-shlibs \
130 --enable-dynamic-e2fsck \
131 --disable-tls
132
133 define Build/Prepare
134 $(call Build/Prepare/Default)
135 $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
136 endef
137
138 define Build/Compile
139 $(MAKE) -C $(PKG_BUILD_DIR)/util \
140 BUILDCC="$(HOSTCC)" \
141 CFLAGS="" \
142 CPPFLAGS="" \
143 LDFLAGS="" \
144 subst
145 $(MAKE) -C $(PKG_BUILD_DIR) \
146 BUILDCC="$(HOSTCC)" \
147 DESTDIR="$(PKG_INSTALL_DIR)" \
148 all
149 endef
150
151 define Build/InstallDev
152 $(MAKE) -C $(PKG_BUILD_DIR) \
153 BUILDCC="$(HOSTCC)" \
154 DESTDIR="$(1)" \
155 install-libs
156 $(MAKE) -C $(PKG_BUILD_DIR)/lib/ext2fs \
157 BUILDCC="$(HOSTCC)" \
158 DESTDIR="$(1)" \
159 install
160 endef
161
162 define Package/e2fsprogs/install
163 $(INSTALL_DIR) $(1)/usr/sbin
164 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
165 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
166 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext2
167 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext3
168 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext4
169 $(INSTALL_DIR) $(1)/usr/lib
170 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libe2p.so.* $(1)/usr/lib/
171 $(INSTALL_DIR) $(1)/etc/init.d
172 $(INSTALL_DIR) $(1)/lib/functions/fsck
173 $(INSTALL_DATA) ./files/e2fsck.sh $(1)/lib/functions/fsck/
174 $(INSTALL_DATA) ./files/e2fsck.conf $(1)/etc/e2fsck.conf
175 endef
176
177 define Package/libcom_err/install
178 $(INSTALL_DIR) $(1)/usr/lib
179 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcom_err.so.* $(1)/usr/lib/
180 endef
181
182 define Package/libuuid/install
183 $(INSTALL_DIR) $(1)/usr/lib
184 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuuid.so.* $(1)/usr/lib/
185 endef
186
187 define Package/uuidgen/install
188 $(INSTALL_DIR) $(1)/usr/bin
189 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uuidgen $(1)/usr/bin/
190 endef
191
192 define Package/libblkid/install
193 $(INSTALL_DIR) $(1)/usr/lib
194 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libblkid.so.* $(1)/usr/lib/
195 endef
196
197 define Package/libext2fs/install
198 $(INSTALL_DIR) $(1)/usr/lib
199 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* $(1)/usr/lib/
200 endef
201
202 define Package/tune2fs/install
203 $(INSTALL_DIR) $(1)/usr/sbin
204 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
205 endef
206
207 define Package/resize2fs/install
208 $(INSTALL_DIR) $(1)/usr/sbin
209 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
210 endef
211
212 define Package/badblocks/install
213 $(INSTALL_DIR) $(1)/usr/sbin
214 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
215 endef
216
217 define Package/blkid/install
218 $(INSTALL_DIR) $(1)/usr/sbin
219 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blkid $(1)/usr/sbin/
220 endef
221
222 $(eval $(call BuildPackage,e2fsprogs))
223 $(eval $(call BuildPackage,libuuid))
224 $(eval $(call BuildPackage,uuidgen))
225 $(eval $(call BuildPackage,libblkid))
226 $(eval $(call BuildPackage,libext2fs))
227 $(eval $(call BuildPackage,libcom_err))
228 $(eval $(call BuildPackage,tune2fs))
229 $(eval $(call BuildPackage,resize2fs))
230 $(eval $(call BuildPackage,badblocks))
231 $(eval $(call BuildPackage,blkid))