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