48e10c13730a86470d79017457e9ce864ac96e7f
[packages.git] / libs / howl / 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
11 PKG_NAME:=howl
12 PKG_VERSION:=1.0.0
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://www.porchdogsoft.com/download/
17 PKG_MD5SUM:=c389d3ffba0e69a179de2ec650f1fdcc
18
19 include $(INCLUDE_DIR)/package.mk
20
21 define Package/howl/Default
22   SECTION:=net
23   CATEGORY:=Network
24   TITLE:=Zeroconf networking implementation
25   URL:=http://www.porchdogsoft.com/products/howl/
26 endef
27
28 define Package/libhowl
29   $(call Package/howl/Default)
30   SECTION:=libs
31   CATEGORY:=Libraries
32   TITLE+= (library)
33 endef
34
35 define Package/libhowl/description
36         Howl is a cross-platform implementation of Zeroconf networking. 
37         This package contains the Howl shared libraries, used by other programs.
38 endef
39
40 define Package/howl-autoipd
41   $(call Package/howl/Default)
42   DEPENDS:=+libhowl
43   TITLE:=An IPv4 Link-Local address self-assigner daemon
44 endef
45
46 define Package/howl-autoipd/description
47         Howl is a cross-platform implementation of Zeroconf networking. 
48         This package contains an IPv4 Link-Local address self-assigner daemon.
49 endef
50
51 define Package/howl-mdnsresponder
52   $(call Package/howl/Default)
53   DEPENDS:=+libhowl
54   TITLE:=An mDNS (Multicast DNS) service responder daemon
55 endef
56
57 define Package/howl-mdnsresponder/description
58         Howl is a cross-platform implementation of Zeroconf networking. 
59         This package contains an mDNS (Multicast DNS) service responder daemon.
60 endef
61
62 define Package/howl-mdnsresponder/conffiles
63 /etc/mDNSResponder.conf
64 endef
65
66 define Package/howl-nifd
67   $(call Package/howl/Default)
68   DEPENDS:=+libhowl
69   TITLE:=A network interface monitor daemon
70 endef
71
72 define Package/howl-nifd/description
73         This package contains a network interface monitor daemon.
74 endef
75
76 define Package/howl-utils
77   $(call Package/howl/Default)
78   DEPENDS:=+libhowl
79   TITLE+= (utilities)
80 endef
81
82 define Package/howl-utils/description
83         This package contains mDNS (Multicast DNS) client utilities.
84 endef
85
86 define Build/Configure
87         $(call Build/Configure/Default, \
88                 --enable-shared \
89                 --enable-static \
90         );
91 endef
92
93 TARGET_CFLAGS += $(FPIC)
94
95 define Build/Compile
96         $(MAKE) -C $(PKG_BUILD_DIR) \
97                 DESTDIR="$(PKG_INSTALL_DIR)" \
98                 all install
99 endef
100
101 define Build/InstallDev
102         mkdir -p $(1)/usr/include
103         $(CP) $(PKG_INSTALL_DIR)/usr/include/howl $(1)/usr/include/
104         mkdir -p $(1)/usr/lib
105         $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{howl,mDNSResponder}.{a,so*} $(1)/usr/lib/
106         mkdir -p $(1)/usr/lib/pkgconfig
107         $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/howl.pc $(1)/usr/lib/pkgconfig/
108         $(SED) 's,-I/usr/include,-I$$$${includedir},g' $(1)/usr/lib/pkgconfig/howl.pc
109         $(SED) 's,-L/usr/lib/howl,-L$$$${libdir}/howl,g' $(1)/usr/lib/pkgconfig/howl.pc
110 endef
111
112 define Package/libhowl/install
113         $(INSTALL_DIR) $(1)/usr/lib
114         $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{howl,mDNSResponder}.so.* $(1)/usr/lib/
115 endef
116
117 define Package/howl-autoipd/install
118         $(INSTALL_DIR) $(1)/usr/sbin
119         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/autoipd $(1)/usr/sbin/
120         $(INSTALL_DIR) $(1)/etc/init.d
121         $(INSTALL_DATA) ./files/autoipd.init $(1)/etc/init.d/autoipd
122 endef
123
124 define Package/howl-mdnsresponder/install
125         $(INSTALL_DIR) $(1)/usr/sbin
126         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mDNSResponder $(1)/usr/sbin/
127         $(INSTALL_DIR) $(1)/etc
128         $(INSTALL_DATA) ./files/mDNSResponder.conf $(1)/etc/mDNSResponder.conf
129         $(INSTALL_DIR) $(1)/etc/init.d
130         $(INSTALL_BIN) ./files/mDNSResponder.init $(1)/etc/init.d/mDNSResponder
131 endef
132
133 define Package/howl-nifd/install
134         $(INSTALL_DIR) $(1)/usr/sbin
135         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nifd $(1)/usr/sbin/
136         $(INSTALL_DIR) $(1)/etc/init.d
137         $(INSTALL_DATA) ./files/nifd.init $(1)/etc/init.d/nifd
138 endef
139
140 define Package/howl-utils/install
141         $(INSTALL_DIR) $(1)/usr/bin
142         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mDNS{Browse,Publish,Query,Resolve} $(1)/usr/bin/
143 endef
144
145 $(eval $(call BuildPackage,libhowl))
146 $(eval $(call BuildPackage,howl-autoipd))
147 $(eval $(call BuildPackage,howl-mdnsresponder))
148 $(eval $(call BuildPackage,howl-nifd))
149 $(eval $(call BuildPackage,howl-utils))