403fb9b54a6a086c469bebaaa547be132a753cbe
[openwrt/svn-archive/archive.git] / utils / ntfs-3g / Makefile
1 #
2 # Copyright (C) 2007-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
10 PKG_NAME:=ntfs-3g
11 PKG_RELEASE:=1
12
13 PKG_VERSION:=2010.8.8
14
15 ## 2010.3.6 needs a recent uclibc 0.9.30.2 or greater
16 ## this has been fixed in 2010.5.16, keeping this in case this happens again
17 #PKG_UCLIBC_VERSION:=$(call qstrip,$(CONFIG_UCLIBC_VERSION))
18 #ifneq (,$(or $(findstring !0.9.29,!$(PKG_UCLIBC_VERSION)),$(findstring !0.9.30.1!,!$(PKG_UCLIBC_VERSION)!) ))
19 # PKG_VERSION:=2010.1.16
20 #endif
21
22 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
23 PKG_SOURCE_URL:=http://www.tuxera.com/opensource/
24
25 PKG_MD5SUM_2010.1.16:=e104c914e8d7d29ee83e63d46afbba25
26 PKG_MD5SUM_2010.3.6:=12ce21aa044c6068a4df6e8cbd3c5cfa
27 PKG_MD5SUM_2010.5.16:=aeff7659a4943c9223d79116f051a863
28 PKG_MD5SUM_2010.5.22:=caa08c73220a7106c76f697b7a7915ec
29 PKG_MD5SUM_2010.8.8:=6c109746c2708f679725a2ea441c61c6
30 PKG_MD5SUM:=$(PKG_MD5SUM_$(PKG_VERSION))
31
32 PKG_FIXUP:=libtool
33 PKG_INSTALL:=1
34
35 # release contains fuseext/int hint
36 PKG_RELEASE:=$(PKG_RELEASE)$(if $(CONFIG_PACKAGE_NTFS-3G_USE_LIBFUSE),-fuseext,-fuseint)
37
38 # define build dir, respect fuseext/int
39 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
40
41 include $(INCLUDE_DIR)/package.mk
42
43 define Package/ntfs-3g/common
44 SECTION:=utils
45 CATEGORY:=Utilities
46 URL:=http://www.tuxera.com
47 SUBMENU:=Filesystem
48 TITLE:=Stable Read/Write NTFS Driver
49 MAINTAINER:=Bud <wrt_buddhay@gmx.net>
50 endef
51
52 define Package/ntfs-3g
53 $(call Package/ntfs-3g/common)
54 DEPENDS+= +kmod-fuse +PACKAGE_NTFS-3G_USE_LIBFUSE:libfuse +libpthread
55 endef
56
57 define Package/ntfs-3g/description
58 Ntfs-3g is a NTFS driver, which can create, remove, rename,
59 move files, directories, hard links, and streams. It can read
60 and write files, including streams and sparse files. It can
61 handle special files like symbolic links, devices, and FIFOs.
62 Moreover it can also read transparently compressed files.
63
64 Contains:
65 - ntfs-3g
66 - ntfs-3g.probe
67
68 endef
69
70 define Package/ntfs-3g/config
71 config PACKAGE_NTFS-3G_USE_LIBFUSE
72 bool "use external FUSE library, selects package libfuse"
73 depends on PACKAGE_ntfs-3g
74 ---help---
75 Ntfs-3g by default uses a minimalized lite version of FUSE.
76 If libfuse is part of your filesystem anyway (because of sshfs, owfs
77 etc.) it makes sense to activate this option and save some kilobytes
78 of space.
79
80 endef
81
82 define Package/ntfs-3g-utils
83 $(call Package/ntfs-3g/common)
84 TITLE:=ntfs-3g utilities (ntfs-3g.secaudit, ntfs-3g.usermap)
85 DEPENDS+= +ntfs-3g
86 endef
87
88 define Package/ntfs-3g-utils/description
89 Additional ntfs-3g utilities. Not included by default for size
90 considerations. All binaries except ntfs-3g, ntfs-3g.probe.
91
92 Currently:
93 - ntfs-3g.secaudit
94 - ntfs-3g.usermap
95
96 endef
97
98 define Package/mount.ntfs-3g
99 $(call Package/ntfs-3g/common)
100 TITLE:=ntfs-3g mount helper
101 DEPENDS+= +ntfs-3g
102 endef
103
104 define Package/mount.ntfs-3g/description
105 ntfs-3g mount helper. You must enable busybox mount helper too.
106 endef
107
108 CONFIGURE_ARGS += \
109 --enable-shared \
110 --enable-static
111
112 # configure/make according selection
113 ifdef CONFIG_PACKAGE_NTFS-3G_USE_LIBFUSE
114 CONFIGURE_ARGS += --with-fuse=external
115 TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include/fuse $(TARGET_CPPFLAGS)
116 else
117 CONFIGURE_ARGS += --with-fuse=internal
118 TARGET_CPPFLAGS:=-I../include/fuse-lite $(TARGET_CPPFLAGS)
119 endif
120
121 # redefine prepare to extract to our build dir
122 define Build/Prepare
123 rm -rf $(PKG_BUILD_DIR)/
124 mkdir -p $(PKG_BUILD_DIR)/
125 $(TAR) -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip 1
126 endef
127
128 define Build/InstallDev
129 $(INSTALL_DIR) $(1)/usr/include
130 $(CP) $(PKG_INSTALL_DIR)/usr/include/ntfs-3g $(1)/usr/include/
131 $(INSTALL_DIR) $(1)/usr/lib
132 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libntfs-3g.{la,a,so*} $(1)/usr/lib/
133 endef
134
135 define Package/ntfs-3g/install
136 $(INSTALL_DIR) $(1)/usr/bin
137 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ntfs-3g{,.probe} $(1)/usr/bin/
138 $(INSTALL_DIR) $(1)/usr/lib
139 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libntfs-3g.so.* $(1)/usr/lib/
140 endef
141
142 define Package/mount.ntfs-3g/install
143 $(INSTALL_DIR) $(1)/sbin
144 $(CP) $(PKG_INSTALL_DIR)/sbin/mount.ntfs-3g $(1)/sbin/
145 endef
146
147 define Package/mount.ntfs-3g/postinst
148 #!/bin/sh
149
150 if [ -z "$$(grep ^\\ntfs-3g: $${IPKG_INSTROOT}/etc/filesystems)" ]; then
151 echo "ntfs-3g" >> $${IPKG_INSTROOT}/etc/filesystems
152 fi
153
154 endef
155
156 define Package/ntfs-3g-utils/install
157 $(INSTALL_DIR) $(1)/usr/bin
158 $(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f ! -name ntfs-3g.probe ! -name ntfs-3g -exec $(INSTALL_BIN) {} $(1)/usr/bin/ \;
159 endef
160
161 $(eval $(call BuildPackage,ntfs-3g))
162 $(eval $(call BuildPackage,ntfs-3g-utils))
163 $(eval $(call BuildPackage,mount.ntfs-3g))
164