Makefile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. #
  2. # Copyright (C) 2006-2008 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. # $Id$
  8. include $(TOPDIR)/rules.mk
  9. include $(INCLUDE_DIR)/kernel.mk
  10. PKG_NAME:=fuse
  11. PKG_VERSION:=2.7.3
  12. PKG_RELEASE:=1
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  14. PKG_SOURCE_URL:=@SF/$(PKG_NAME)
  15. PKG_MD5SUM:=98563fc7b265b7479a3178181cbcf59a
  16. include $(INCLUDE_DIR)/package.mk
  17. define Package/fuse/Default
  18. TITLE:=FUSE
  19. DEPENDS:=@LINUX_2_6
  20. URL:=http://fuse.sourceforge.net/
  21. endef
  22. define Package/fuse/Default/description
  23. FUSE (Filesystem in UserSpacE)
  24. endef
  25. define Package/fuse-utils
  26. $(call Package/fuse/Default)
  27. SECTION:=utils
  28. CATEGORY:=Utilities
  29. DEPENDS:=+libfuse +kmod-fuse @LINUX_2_6
  30. TITLE+= (utilities)
  31. SUBMENU:=disc
  32. endef
  33. define Package/fuse-utils/description
  34. $(call Package/fuse/Default/description)
  35. This package contains the FUSE utilities.
  36. endef
  37. define KernelPackage/fuse
  38. $(call Package/fuse/Default)
  39. SUBMENU:=Filesystems
  40. DEPENDS:=@LINUX_2_6
  41. TITLE+= (kernel module)
  42. KCONFIG:= CONFIG_FUSE_FS
  43. FILES:=$(LINUX_DIR)/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX)
  44. AUTOLOAD:=$(call AutoLoad,80,fuse)
  45. endef
  46. define KernelPackage/fuse/description
  47. $(call Package/fuse/Default/description)
  48. This package contains the FUSE kernel module.
  49. endef
  50. define Package/libfuse
  51. $(call Package/fuse/Default)
  52. SECTION:=libs
  53. CATEGORY:=Libraries
  54. DEPENDS:=@LINUX_2_6
  55. TITLE+= (library)
  56. SUBMENU:=disc
  57. endef
  58. define Package/libfuse/description
  59. $(call Package/fuse/Default/description)
  60. This package contains the FUSE shared library, needed by other programs.
  61. endef
  62. CONFIGURE_VARS += \
  63. kernsrcver="$(LINUX_VERSION)"
  64. CONFIGURE_ARGS += \
  65. --enable-shared \
  66. --enable-static \
  67. --disable-rpath \
  68. --enable-lib \
  69. --enable-util \
  70. --disable-example \
  71. --disable-auto-modprobe \
  72. --with-kernel="$(LINUX_DIR)" \
  73. --disable-mtab
  74. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,2.6.25)),1)
  75. define KernelPackage/fuse/2.6
  76. KCONFIG:=
  77. FILES:=$(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX)
  78. endef
  79. CONFIGURE_ARGS += --enable-kernel-module
  80. else
  81. CONFIGURE_ARGS += --disable-kernel-module
  82. endif
  83. define Build/Configure
  84. (cd $(PKG_BUILD_DIR); rm -f config.cache; \
  85. touch configure.in ; \
  86. touch aclocal.m4 ; \
  87. touch Makefile.in ; \
  88. touch include/config.h.in ; \
  89. touch configure ; \
  90. )
  91. $(call Build/Configure/Default)
  92. endef
  93. define Build/Compile
  94. $(MAKE) -C $(PKG_BUILD_DIR) \
  95. ARCH="$(LINUX_KARCH)" \
  96. CROSS_COMPILE="$(TARGET_CROSS)" \
  97. DESTDIR="$(PKG_INSTALL_DIR)" \
  98. AM_CFLAGS="$(TARGET_CFLAGS) -DDISABLE_COMPAT=1" \
  99. EXTRA_DIST="" \
  100. all install
  101. endef
  102. define Build/InstallDev
  103. mkdir -p $(1)/usr/include
  104. $(CP) $(PKG_INSTALL_DIR)/usr/include/fuse{,.h} $(1)/usr/include/
  105. mkdir -p $(1)/usr/lib
  106. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(1)/usr/lib/
  107. mkdir -p $(1)/usr/lib/pkgconfig
  108. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/
  109. $(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc
  110. $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc
  111. endef
  112. define Package/fuse-utils/install
  113. $(INSTALL_DIR) $(1)/usr/bin
  114. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fusermount $(1)/usr/bin/
  115. endef
  116. define Package/libfuse/install
  117. $(INSTALL_DIR) $(1)/usr/lib
  118. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfuse.so.* $(1)/usr/lib/
  119. endef
  120. $(eval $(call BuildPackage,fuse-utils))
  121. $(eval $(call BuildPackage,libfuse))
  122. $(eval $(call KernelPackage,fuse))