Makefile 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #
  2. # Copyright (C) 2014 OpenWrt.org
  3. #
  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:=f2fs-tools
  9. PKG_VERSION:=1.15.0
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
  13. PKG_HASH:=147d471040b44900283ce2c935f1d35d13d7f40008e7cb8fab2b69f54da01a4f
  14. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  15. PKG_LICENSE:=GPL-2.0-only
  16. PKG_LICENSE_FILES:=COPYING
  17. PKG_FIXUP:=autoreconf
  18. PKG_BUILD_PARALLEL:=1
  19. PKG_INSTALL:=1
  20. include $(INCLUDE_DIR)/package.mk
  21. define Package/f2fs-tools/Default
  22. SECTION:=utils
  23. CATEGORY:=Utilities
  24. SUBMENU:=Filesystem
  25. DEPENDS:=+libf2fs
  26. URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
  27. VARIANT:=default
  28. endef
  29. define Package/f2fs-tools/SELinux
  30. SECTION:=utils
  31. CATEGORY:=Utilities
  32. SUBMENU:=Filesystem
  33. DEPENDS:=+libf2fs-selinux +libselinux
  34. URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
  35. VARIANT:=selinux
  36. endef
  37. define Package/mkf2fs
  38. $(Package/f2fs-tools/Default)
  39. TITLE:=Utility for creating a Flash-Friendly File System (F2FS)
  40. CONFLICTS:=mkf2fs-selinux
  41. endef
  42. define Package/mkf2fs-selinux
  43. $(Package/f2fs-tools/SELinux)
  44. TITLE:=Utility for creating a Flash-Friendly File System (F2FS) with SELinux support
  45. endef
  46. define Package/f2fsck
  47. $(Package/f2fs-tools/Default)
  48. TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS)
  49. CONFLICTS:=f2fsck-selinux
  50. endef
  51. define Package/f2fsck-selinux
  52. $(Package/f2fs-tools/SELinux)
  53. TITLE:=Utility for checking/repairing a Flash-Friendly File System (F2FS) with SELinux support
  54. endef
  55. define Package/f2fs-tools
  56. $(Package/f2fs-tools/Default)
  57. TITLE:=Tools for Flash-Friendly File System (F2FS)
  58. DEPENDS += +mkf2fs +f2fsck
  59. CONFLICTS:=f2fs-tools-selinux
  60. endef
  61. define Package/f2fs-tools-selinux
  62. $(Package/f2fs-tools/SELinux)
  63. TITLE:=Tools for Flash-Friendly File System (F2FS) with SELinux support
  64. DEPENDS += +mkf2fs-selinux +f2fsck-selinux
  65. endef
  66. define Package/libf2fs
  67. SECTION:=libs
  68. CATEGORY:=Libraries
  69. TITLE:=Library for Flash-Friendly File System (F2FS) tools
  70. DEPENDS:=+libuuid
  71. ABI_VERSION:=6
  72. CONFLICTS:=libf2fs-selinux
  73. VARIANT:=default
  74. endef
  75. define Package/libf2fs-selinux
  76. SECTION:=libs
  77. CATEGORY:=Libraries
  78. TITLE:=Library for Flash-Friendly File System (F2FS) tools with SELinux support
  79. DEPENDS:=+libuuid +libselinux
  80. ABI_VERSION:=6
  81. VARIANT:=selinux
  82. endef
  83. CONFIGURE_ARGS += \
  84. --disable-static \
  85. --without-blkid \
  86. --without-lzo2 \
  87. --without-lz4
  88. ifneq ($(BUILD_VARIANT),selinux)
  89. CONFIGURE_ARGS += --without-selinux
  90. endif
  91. CONFIGURE_VARS += \
  92. ac_cv_file__git=no
  93. define Package/libf2fs/install
  94. $(INSTALL_DIR) $(1)/usr/lib
  95. $(CP) \
  96. $(PKG_INSTALL_DIR)/usr/lib/libf2fs.so.* $(1)/usr/lib/
  97. endef
  98. Package/libf2fs-selinux/install = $(Package/libf2fs/install)
  99. define Package/mkf2fs/install
  100. $(INSTALL_DIR) $(1)/usr/sbin
  101. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.f2fs $(1)/usr/sbin
  102. endef
  103. Package/mkf2fs-selinux/install = $(Package/mkf2fs/install)
  104. define Package/f2fsck/install
  105. $(INSTALL_DIR) $(1)/usr/sbin
  106. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.f2fs $(1)/usr/sbin
  107. ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/defrag.f2fs
  108. ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs
  109. ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/sload.f2fs
  110. ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/resize.f2fs
  111. endef
  112. Package/f2fsck-selinux/install = $(Package/f2fsck/install)
  113. define Package/f2fs-tools/install
  114. $(INSTALL_DIR) $(1)/usr/sbin
  115. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/f2fstat $(1)/usr/sbin
  116. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fibmap.f2fs $(1)/usr/sbin
  117. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/parse.f2fs $(1)/usr/sbin
  118. endef
  119. Package/f2fs-tools-selinux/install = $(Package/f2fs-tools/install)
  120. $(eval $(call BuildPackage,libf2fs))
  121. $(eval $(call BuildPackage,libf2fs-selinux))
  122. $(eval $(call BuildPackage,mkf2fs))
  123. $(eval $(call BuildPackage,mkf2fs-selinux))
  124. $(eval $(call BuildPackage,f2fsck))
  125. $(eval $(call BuildPackage,f2fsck-selinux))
  126. $(eval $(call BuildPackage,f2fs-tools))
  127. $(eval $(call BuildPackage,f2fs-tools-selinux))