Makefile 6.8 KB

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