2f8d993021fd5dc79fb7cf7586dbda9773dbfc68
[packages.git] / utils / owfs / Makefile
1 #
2 # Copyright (C) 2008-2011 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:=owfs
11 PKG_VERSION:=2.8p4
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
16 PKG_MD5SUM:=beccd8765184b2abea0a3f28dc466ea3
17
18 PKG_FIXUP:=libtool 
19 PKG_INSTALL:=1
20
21 include $(INCLUDE_DIR)/package.mk
22
23 #
24 # templates
25 #
26
27 define Package/$(PKG_NAME)/Default
28   TITLE:=OWFS (1-Wire File System)
29   URL:=http://owfs.sourceforge.net/
30   SECTION:=net
31   CATEGORY:=Network
32   SUBMENU:=Filesystem
33 endef
34
35 define Package/$(PKG_NAME)/Default/description
36   OWFS is a suite of programs that designed to make the 1-wire bus and its
37   devices easily accessible. The underlying priciple is to create a virtual
38   filesystem, with the unique ID being the directory, and the individual
39   properties of the device are represented as simple files that can be read
40   and written.
41
42   Details of the individual slave or master design are hidden behind a
43   consistent interface. The goal is to provide an easy set of tools for a
44   software designer to create monitoring or control applications. There are
45   some performance enhancements in the implementation, including data caching,
46   parallel access to bus masters, and aggregation of device communication.
47   Still the fundemental goal has been ease of use, flexibility and correctness
48   rather than speed.
49 endef
50
51 define Package/owfs/Server
52   $(call Package/owfs/Default)
53   DEPENDS:=+libow +libpthread
54 endef
55
56 define Package/owfs/Library
57   $(call Package/owfs/Default)
58   SECTION:=libs
59   CATEGORY:=Libraries
60 endef
61
62 define Package/owfs/Utility
63   $(call Package/owfs/Default)
64   SECTION:=utils
65   CATEGORY:=Utilities
66   DEPENDS:=+libow
67 endef
68
69 #
70 # shared libraries
71 #
72
73 define Package/libow
74   $(call Package/owfs/Library)
75   DEPENDS:=+libusb +libpthread
76   TITLE:=OWFS - common shared library
77 endef
78
79 define Package/libow/description
80   $(call Package/$(PKG_NAME)/Default/description)
81
82   This package contains the OWFS library.
83 endef
84
85 define Package/libow-capi
86   $(call Package/owfs/Library)
87   DEPENDS:=+libow
88   TITLE:=OWFS - C-API library
89 endef
90
91 define Package/libow-capi/description
92   $(call Package/$(PKG_NAME)/Default/description)
93
94   This package contains the OWFS C-API library.
95 endef
96
97 #
98 # utilities
99 #
100
101 define Package/owshell
102   $(call Package/owfs/Utility)
103   TITLE:=OWFS - shell utilities
104   DEPENDS+= +USE_UCLIBC:librpc
105 endef
106
107 define Package/owshell/description
108   $(call Package/$(PKG_NAME)/Default/description)
109
110   This package contains the OWFS shell utilities.
111 endef
112
113 define Package/owfs
114   $(call Package/owfs/Utility)
115   # libfuse depends on kmod-fuse, no need to declare dependency
116   DEPENDS+= +libfuse +fuse-utils
117   TITLE:=OWFS - fuse file system
118 endef
119
120 define Package/owfs/description
121   $(call Package/$(PKG_NAME)/Default/description)
122
123   This package contains the OWFS fuse filesystem.
124 endef
125
126 #
127 # network daemons
128 #
129
130 define Package/owhttpd
131   $(call Package/owfs/Server)
132   TITLE:=OWFS - http server
133 endef
134
135 define Package/owhttpd/description
136   $(call Package/$(PKG_NAME)/Default/description)
137
138   This package contains the OWFS http server.
139 endef
140
141 define Package/owftpd
142   $(call Package/owfs/Server)
143   TITLE:=OWFS - ftp server
144 endef
145
146 define Package/owftpd/description
147   $(call Package/$(PKG_NAME)/Default/description)
148
149   This package contains the OWFS ftp server.
150 endef
151
152 define Package/owserver
153   $(call Package/owfs/Server)
154   TITLE:=OWFS - network server
155 endef
156
157 define Package/owserver/description
158   $(call Package/$(PKG_NAME)/Default/description)
159
160   This package contains the OWFS network server.
161 endef
162
163 CONFIGURE_ARGS += \
164         --enable-owftpd \
165         --enable-owserver \
166         --enable-owhttpd \
167         --enable-owfs \
168         --with-fuseinclude="$(STAGING_DIR)/usr/include" \
169         --with-fuselib="$(STAGING_DIR)/usr/lib" \
170         --enable-shared \
171         --disable-rpath \
172         --enable-zero \
173         --disable-parport \
174         --disable-ownfsd \
175         --disable-ownet \
176         --disable-owpython \
177         --disable-libow-perl \
178         --disable-owphp \
179         --disable-owtcl \
180         --disable-owside \
181         --disable-swig \
182
183 CONFIGURE_VARS += \
184         LDFLAGS="$(TARGET_LDFLAGS) -Wl,-rpath-link=$(STAGING_DIR)/usr/lib -Wl,-rpath-link=$(TOOLCHAIN_DIR)/usr/lib" \
185         lt_cv_sys_lib_dlsearch_path_spec="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib" \
186         lt_cv_sys_lib_search_path_spec="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib" \
187         shrext_cmds=".so" \
188
189 define Build/Compile
190         $(MAKE) -C $(PKG_BUILD_DIR) \
191                 CC="$(TARGET_CC)" \
192                 DESTDIR="$(PKG_INSTALL_DIR)" \
193                 HOST_CPU="$(PKGARCH)" \
194                 all install
195 endef
196
197 define Build/InstallDev
198         $(INSTALL_DIR) $(STAGING_DIR)/usr/include
199         $(CP)   $(PKG_INSTALL_DIR)/usr/include/ow{capi,fs_config}.h $(STAGING_DIR)/usr/include/
200         $(INSTALL_DIR) $(STAGING_DIR)/usr/lib
201         $(CP)   $(PKG_INSTALL_DIR)/usr/lib/libow{,capi}*.so* $(STAGING_DIR)/usr/lib/
202 endef
203
204 define Package/owfs/install
205         $(INSTALL_DIR) $(1)/usr/bin
206         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owfs $(1)/usr/bin/
207 endef
208
209 define Package/owshell/install
210         $(INSTALL_DIR) $(1)/usr/bin
211         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owget $(1)/usr/bin/
212         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owread $(1)/usr/bin/
213         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owwrite $(1)/usr/bin/
214         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owdir $(1)/usr/bin/
215         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owpresent $(1)/usr/bin/
216 endef
217
218
219 define Package/owserver/install
220         $(INSTALL_DIR) $(1)/usr/bin
221         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owserver $(1)/usr/bin/
222 endef
223
224 define Package/owhttpd/install
225         $(INSTALL_DIR) $(1)/usr/bin
226         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owhttpd $(1)/usr/bin/
227 endef
228
229 define Package/owftpd/install
230         $(INSTALL_DIR) $(1)/usr/bin
231         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owftpd $(1)/usr/bin/
232 endef
233
234
235 define Package/libow/install
236         $(INSTALL_DIR) $(1)/usr/lib
237         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libow-*.so.* $(1)/usr/lib/
238 endef
239
240 define Package/libow-capi/install
241         $(INSTALL_DIR) $(1)/usr/lib
242         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libowcapi-*.so.* $(1)/usr/lib/
243 endef
244
245
246 $(eval $(call BuildPackage,owfs))
247 $(eval $(call BuildPackage,owshell))
248
249 $(eval $(call BuildPackage,owserver))
250 $(eval $(call BuildPackage,owhttpd))
251 $(eval $(call BuildPackage,owftpd))
252
253 $(eval $(call BuildPackage,libow))
254 $(eval $(call BuildPackage,libow-capi))