[package] fix fuse dependency against kmod-fuse
[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))