4e25ab0dc6f414639c451b5d519ecc258a2ed6a6
[openwrt/openwrt.git] / package / utils / e2fsprogs / Makefile
1 #
2 # Copyright (C) 2006-2014 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.43.1
12 PKG_MD5SUM:=1775f3f0eed9dee1c5f39e08d1964a97
13 PKG_RELEASE:=2
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=@SF/e2fsprogs
17
18 PKG_BUILD_DEPENDS:=util-linux
19 PKG_INSTALL:=1
20
21 PKG_BUILD_PARALLEL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/e2fsprogs/Default
26 URL:=http://e2fsprogs.sourceforge.net/
27 SUBMENU:=Filesystem
28 endef
29
30 define Package/e2fsprogs
31 $(call Package/e2fsprogs/Default)
32 SECTION:=utils
33 CATEGORY:=Utilities
34 TITLE:=Ext2/3/4 filesystem utilities
35 DEPENDS:=+libuuid +libext2fs
36 endef
37
38 define Package/e2fsprogs/description
39 This package contains essential ext2 filesystem utilities which consists of
40 e2fsck, mke2fs and most of the other core ext2 filesystem utilities.
41 endef
42
43 define Package/libext2fs
44 $(call Package/e2fsprogs/Default)
45 SECTION:=libs
46 CATEGORY:=Libraries
47 TITLE:=ext2/3/4 filesystem library
48 endef
49
50 define Package/libext2fs/description
51 libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
52 endef
53
54 define Package/tune2fs
55 $(call Package/e2fsprogs)
56 TITLE:=Ext2 Filesystem tune utility
57 DEPENDS:= +e2fsprogs
58 endef
59
60 define Package/resize2fs
61 $(call Package/e2fsprogs)
62 TITLE:=Ext2 Filesystem resize utility
63 DEPENDS:= +e2fsprogs
64 endef
65
66 define Package/badblocks
67 $(call Package/e2fsprogs)
68 TITLE:=Ext2 Filesystem badblocks utility
69 DEPENDS:= +e2fsprogs
70 endef
71
72 define Package/dumpe2fs
73 $(call Package/e2fsprogs)
74 TITLE:=Ext2 Filesystem information dumping utility
75 DEPENDS:= +e2fsprogs
76 endef
77
78 define Package/e2freefrag
79 $(call Package/e2fsprogs)
80 TITLE:=Ext2 Filesystem free space fragmentation information utility
81 DEPENDS:= +e2fsprogs
82 endef
83
84 define Package/filefrag
85 $(call Package/e2fsprogs)
86 TITLE:=Ext2 Filesystem file fragmentation report utility
87 DEPENDS:= +e2fsprogs
88 endef
89
90 define Package/debugfs
91 $(call Package/e2fsprogs)
92 TITLE:=Ext2 Filesystem debugger
93 DEPENDS:= +e2fsprogs
94 endef
95
96 define Package/chattr
97 $(call Package/e2fsprogs)
98 TITLE:=Ext2 Filesystem chattr utility
99 DEPENDS:= +e2fsprogs
100 endef
101
102 define Package/lsattr
103 $(call Package/e2fsprogs)
104 TITLE:=Ext2 Filesystem lsattr utility
105 DEPENDS:= +e2fsprogs
106 endef
107
108 TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections
109
110 CONFIGURE_VARS += \
111 ac_cv_lib_pthread_sem_init=no
112
113 CONFIGURE_ARGS += \
114 --disable-testio-debug \
115 --enable-elf-shlibs \
116 --disable-libuuid \
117 --enable-libblkid \
118 --disable-uuidd \
119 --disable-tls \
120 --disable-nls \
121 --disable-rpath
122
123 define Build/Prepare
124 $(call Build/Prepare/Default)
125 $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
126 endef
127
128 define Build/Compile
129 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/util \
130 BUILDCC="$(HOSTCC)" \
131 CFLAGS="" \
132 CPPFLAGS="" \
133 LDFLAGS="" \
134 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
135 subst
136 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
137 LDFLAGS=-Wl,--gc-sections \
138 BUILDCC="$(HOSTCC)" \
139 DESTDIR="$(PKG_INSTALL_DIR)" \
140 LIBBLKID="$(PKG_BUILD_DIR)/lib/libblkid.a -luuid" \
141 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
142 all
143 endef
144
145 define Build/InstallDev
146 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
147 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/ext2fs.pc $(1)/usr/lib/pkgconfig
148 $(CP) $(PKG_BUILD_DIR)/lib/et/com_err.pc $(1)/usr/lib/pkgconfig
149
150 $(INSTALL_DIR) $(1)/usr/lib
151 $(CP) $(PKG_BUILD_DIR)/lib/libext2fs.{so,a}* $(1)/usr/lib
152 $(CP) $(PKG_BUILD_DIR)/lib/libcom_err.{so,a}* $(1)/usr/lib
153
154 $(INSTALL_DIR) $(1)/usr/include/ext2fs
155 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/*.h $(1)/usr/include/ext2fs
156 $(INSTALL_DIR) $(1)/usr/include/et
157 $(CP) $(PKG_BUILD_DIR)/lib/et/*.h $(1)/usr/include/et
158 endef
159
160 define Package/e2fsprogs/conffiles
161 /etc/e2fsck.conf
162 endef
163
164 define Package/e2fsprogs/install
165 $(INSTALL_DIR) $(1)/usr/sbin
166 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
167 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
168 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext2
169 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext3
170 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext4
171 $(LN) e2fsck $(1)/usr/sbin/fsck.ext2
172 $(LN) e2fsck $(1)/usr/sbin/fsck.ext3
173 $(LN) e2fsck $(1)/usr/sbin/fsck.ext4
174 $(INSTALL_DIR) $(1)/usr/lib
175 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libe2p.so.* $(1)/usr/lib/
176 $(INSTALL_DIR) $(1)/etc/init.d
177 $(INSTALL_DIR) $(1)/lib/functions/fsck
178 $(INSTALL_DATA) ./files/e2fsck.sh $(1)/lib/functions/fsck/
179 $(INSTALL_DATA) ./files/e2fsck.conf $(1)/etc/e2fsck.conf
180 endef
181
182 define Package/libcom_err/install
183 endef
184
185 define Package/libext2fs/install
186 $(INSTALL_DIR) $(1)/usr/lib
187 $(CP) \
188 $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* \
189 $(PKG_INSTALL_DIR)/usr/lib/libcom_err.so.* \
190 $(1)/usr/lib/
191 endef
192
193 define Package/libext2fs/install_lib
194 $(INSTALL_DIR) $(1)/usr/lib
195 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/libext2fs.a $(1)/usr/lib/libext2fs_pic.a
196 endef
197
198 define Package/tune2fs/install
199 $(INSTALL_DIR) $(1)/usr/sbin
200 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
201 $(LN) tune2fs $(1)/usr/sbin/findfs
202 endef
203
204 define Package/resize2fs/install
205 $(INSTALL_DIR) $(1)/usr/sbin
206 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
207 endef
208
209 define Package/badblocks/install
210 $(INSTALL_DIR) $(1)/usr/sbin
211 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
212 endef
213
214 define Package/dumpe2fs/install
215 $(INSTALL_DIR) $(1)/usr/sbin
216 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dumpe2fs $(1)/usr/sbin/
217 endef
218
219 define Package/e2freefrag/install
220 $(INSTALL_DIR) $(1)/usr/sbin
221 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2freefrag $(1)/usr/sbin/
222 endef
223
224 define Package/filefrag/install
225 $(INSTALL_DIR) $(1)/usr/sbin
226 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/filefrag $(1)/usr/sbin/
227 endef
228
229 define Package/debugfs/install
230 $(INSTALL_DIR) $(1)/usr/sbin
231 $(INSTALL_DIR) $(1)/usr/lib
232 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/debugfs $(1)/usr/sbin/
233 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libss.so.* $(1)/usr/lib/
234 endef
235
236 define Package/chattr/install
237 $(INSTALL_DIR) $(1)/usr/bin
238 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/chattr $(1)/usr/bin/
239 endef
240
241 define Package/lsattr/install
242 $(INSTALL_DIR) $(1)/usr/bin
243 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsattr $(1)/usr/bin/
244 endef
245
246 $(eval $(call BuildPackage,e2fsprogs))
247 $(eval $(call BuildPackage,libext2fs))
248 $(eval $(call BuildPackage,tune2fs))
249 $(eval $(call BuildPackage,resize2fs))
250 $(eval $(call BuildPackage,badblocks))
251 $(eval $(call BuildPackage,dumpe2fs))
252 $(eval $(call BuildPackage,e2freefrag))
253 $(eval $(call BuildPackage,filefrag))
254 $(eval $(call BuildPackage,debugfs))
255 $(eval $(call BuildPackage,chattr))
256 $(eval $(call BuildPackage,lsattr))