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