Makefile 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. #
  2. # Copyright (C) 2006 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.6.3
  12. PKG_RELEASE:=1
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  14. PKG_SOURCE_URL:=@SF/$(PKG_NAME)
  15. PKG_MD5SUM:=3f4f5d07d12dedc0a3fd23472171fe94
  16. PKG_CAT:=zcat
  17. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
  18. PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
  19. include $(INCLUDE_DIR)/package.mk
  20. define Package/fuse/Default
  21. TITLE:=FUSE
  22. DEPENDS:=@LINUX_2_6
  23. DESCRIPTION:=\
  24. FUSE (Filesystem in UserSpacE)
  25. URL:=http://fuse.sourceforge.net/
  26. endef
  27. define Package/fuse-utils
  28. $(call Package/fuse/Default)
  29. SECTION:=utils
  30. CATEGORY:=Utilities
  31. DEPENDS:=+libfuse +kmod-fuse @LINUX_2_6
  32. TITLE+= (utilities)
  33. DESCRIPTION+=\\\
  34. \\\
  35. This package contains the FUSE utilities.
  36. endef
  37. define KernelPackage/fuse
  38. SUBMENU:=Filesystems
  39. $(call Package/fuse/Default)
  40. TITLE+= (kernel module)
  41. DEPENDS:=@LINUX_2_6
  42. DESCRIPTION+=\\\
  43. \\\
  44. This package contains the FUSE kernel module.
  45. VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
  46. FILES:=$(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX)
  47. endef
  48. define Package/libfuse
  49. $(call Package/fuse/Default)
  50. SECTION:=libs
  51. CATEGORY:=Libraries
  52. DEPENDS:=@LINUX_2_6
  53. TITLE+= (library)
  54. DESCRIPTION+=\\\
  55. \\\
  56. This package contains the FUSE shared library, needed by other programs.
  57. endef
  58. define Build/Configure
  59. (cd $(PKG_BUILD_DIR); rm -f config.cache; \
  60. touch configure.in ; \
  61. touch aclocal.m4 ; \
  62. touch Makefile.in ; \
  63. touch include/config.h.in ; \
  64. touch configure ; \
  65. $(TARGET_CONFIGURE_OPTS) \
  66. CFLAGS="$(TARGET_CFLAGS)" \
  67. ./configure \
  68. --target=$(GNU_TARGET_NAME) \
  69. --host=$(GNU_TARGET_NAME) \
  70. --build=$(GNU_HOST_NAME) \
  71. --program-prefix="" \
  72. --program-suffix="" \
  73. --prefix=/usr \
  74. --exec-prefix=/usr \
  75. --bindir=/usr/bin \
  76. --datadir=/usr/share \
  77. --includedir=/usr/include \
  78. --infodir=/usr/share/info \
  79. --libdir=/usr/lib \
  80. --libexecdir=/usr/lib \
  81. --localstatedir=/var \
  82. --mandir=/usr/share/man \
  83. --sbindir=/usr/sbin \
  84. --sysconfdir=/etc \
  85. $(DISABLE_LARGEFILE) \
  86. $(DISABLE_NLS) \
  87. --enable-shared \
  88. --enable-static \
  89. --disable-rpath \
  90. --enable-kernel-module \
  91. --enable-lib \
  92. --enable-util \
  93. --disable-example \
  94. --disable-auto-modprobe \
  95. --with-kernel="$(LINUX_DIR)" \
  96. --disable-mtab \
  97. );
  98. endef
  99. define Build/Compile
  100. $(MAKE) -C $(PKG_BUILD_DIR) \
  101. ARCH="$(LINUX_KARCH)" \
  102. CROSS_COMPILE="$(TARGET_CROSS)" \
  103. DESTDIR="$(PKG_INSTALL_DIR)" \
  104. all install
  105. endef
  106. define Build/InstallDev
  107. mkdir -p $(STAGING_DIR)/usr/include
  108. $(CP) $(PKG_INSTALL_DIR)/usr/include/fuse{,.h} $(STAGING_DIR)/usr/include/
  109. mkdir -p $(STAGING_DIR)/usr/lib
  110. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(STAGING_DIR)/usr/lib/
  111. mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
  112. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(STAGING_DIR)/usr/lib/pkgconfig/
  113. $(SED) 's,-I$$$${includedir}/fuse,,g' $(STAGING_DIR)/usr/lib/pkgconfig/fuse.pc
  114. $(SED) 's,-L$$$${libdir},,g' $(STAGING_DIR)/usr/lib/pkgconfig/fuse.pc
  115. endef
  116. define Build/UninstallDev
  117. rm -rf $(STAGING_DIR)/usr/include/fuse{,.h} \
  118. $(STAGING_DIR)/usr/lib/libfuse.{a,so*} \
  119. $(STAGING_DIR)/usr/lib/pkgconfig/fuse.pc
  120. endef
  121. define Package/fuse-utils/install
  122. $(INSTALL_DIR) $(1)/usr/bin
  123. $(CP) $(PKG_INSTALL_DIR)/usr/bin/fusermount $(1)/usr/bin/
  124. endef
  125. define Package/libfuse/install
  126. $(INSTALL_DIR) $(1)/usr/lib
  127. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfuse.so.* $(1)/usr/lib/
  128. endef
  129. $(eval $(call BuildPackage,fuse-utils))
  130. $(eval $(call BuildPackage,libfuse))
  131. $(eval $(call KernelPackage,fuse))