fix fuse dependency against kmod-fuse
[openwrt/openwrt.git] / package / fuse / Makefile
1 #
2 # Copyright (C) 2006-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=fuse
12 PKG_VERSION:=2.8.4
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
17 PKG_MD5SUM:=a26ec54e410bb826a387947b10c0fd2c
18
19 PKG_INSTALL:=1
20
21 include $(INCLUDE_DIR)/package.mk
22
23 define Package/fuse/Default
24 TITLE:=FUSE
25 URL:=http://fuse.sourceforge.net/
26 endef
27
28 define Package/fuse/Default/description
29 FUSE (Filesystem in UserSpacE)
30 endef
31
32 define Package/fuse-utils
33 $(call Package/fuse/Default)
34 SECTION:=utils
35 CATEGORY:=Utilities
36 DEPENDS:=+libfuse
37 TITLE+= (utilities)
38 SUBMENU:=Filesystem
39 endef
40
41 define Package/fuse-utils/description
42 $(call Package/fuse/Default/description)
43 This package contains the FUSE utilities.
44 - fusermount
45 - ulockmgr_server
46 endef
47
48 define KernelPackage/fuse
49 $(call Package/fuse/Default)
50 SUBMENU:=Filesystems
51 TITLE+= (kernel module)
52 KCONFIG:= CONFIG_FUSE_FS
53 FILES:=$(LINUX_DIR)/fs/fuse/fuse.ko
54 VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)
55 AUTOLOAD:=$(call AutoLoad,80,fuse)
56 endef
57
58 define KernelPackage/fuse/description
59 $(call Package/fuse/Default/description)
60 This package contains the FUSE kernel module.
61 endef
62
63 define Package/libfuse
64 $(call Package/fuse/Default)
65 SECTION:=libs
66 CATEGORY:=Libraries
67 TITLE+= (library)
68 DEPENDS:=+kmod-fuse
69 SUBMENU:=Filesystem
70 endef
71
72 define Package/libfuse/description
73 $(call Package/fuse/Default/description)
74 This package contains the FUSE shared libraries, needed by other programs.
75 - libfuse
76 - libulockmgr
77 endef
78
79 # generic args
80 CONFIGURE_ARGS += \
81 --enable-shared \
82 --enable-static \
83 --disable-rpath \
84 --disable-example \
85 --disable-mtab
86
87 # generic package uses lib & utils
88 CONFIGURE_ARGS += --enable-lib --enable-util
89
90 define Build/InstallDev
91 @echo "--> Build/InstallDev enter"
92 mkdir -p $(1)/usr/include
93 $(CP) $(PKG_INSTALL_DIR)/usr/include/{fuse,*.h} $(1)/usr/include/
94 mkdir -p $(1)/usr/lib
95 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
96 mkdir -p $(1)/usr/lib/pkgconfig
97 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/
98 $(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc
99 $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc
100 @echo "--> Build/InstallDev leave"
101 endef
102
103 define Package/fuse-utils/install
104 @echo "--> Package/fuse-utils/install enter"
105 $(INSTALL_DIR) $(1)/usr/bin
106 # use cp and keep fusermount sticky bit
107 $(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f -exec $(CP) -a {} $(1)/usr/bin/ \;
108 @echo "--> Package/fuse-utils/install leave"
109 endef
110
111 define Package/libfuse/install
112 @echo "--> Package/libfuse/install enter"
113 $(INSTALL_DIR) $(1)/usr/lib
114 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
115 @echo "--> Package/libfuse/install leave"
116 endef
117
118 define Package/kmod-fuse/install
119 @echo "--> Package/kmod-fuse/install enter/leave"
120 endef
121
122 $(eval $(call BuildPackage,fuse-utils))
123 $(eval $(call BuildPackage,libfuse))
124 $(eval $(call KernelPackage,fuse))