Makefile 5.8 KB

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