Remove ddns-scripts (moved)
[packages.git] / net / mdnsresponder / Makefile
1 #
2 # Copyright (C) 2009-2014 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:=mDNSResponder
11 PKG_VERSION:=544
12 PKG_RELEASE:=4
13
14 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
16 PKG_MD5SUM:=39142ab70bd82a096801ce346f86cbab
17
18 PKG_BUILD_DIR:=$(BUILD_DIR)/mDNSResponder-$(PKG_VERSION)
19
20 PKG_BUILD_PARALLEL:=0
21 PKG_INSTALL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 # sys/capability.h is not part of *libc*
26 PKG_BUILD_DEPENDS:=libcap
27
28 define Package/mDNSResponder/Default
29   SECTION:=net
30   CATEGORY:=Network
31   SUBMENU:=IP Addresses and Names
32   TITLE:=mDNS
33   URL:=http://developer.apple.com/networking/bonjour/
34 endef
35
36 define Package/mDNSResponder/Default/description
37   Bonjour, also known as zero-configuration networking, enables
38   automatic discovery of computers, devices, and services on
39   IP networks.
40 endef
41
42 define Package/mdns-utils
43 $(call Package/mDNSResponder/Default)
44   TITLE+= client utilities
45   DEPENDS+= +mdnsd
46 endef
47
48 define Package/mdns-utils/description
49 $(call Package/mDNSResponder/Default/description)
50  .
51  This package contains mDNS client utilities:
52  - dns-sd
53  - mDNSClient
54  - mDNSIdentify
55  - mDNSNetMonitor
56  - mDNSProxyResponder
57  - mDNSResponder
58 endef
59
60 define Package/mdnsd
61 $(call Package/mDNSResponder/Default)
62   TITLE+= server daemon
63 endef
64
65 define Package/mdnsd/description
66 $(call Package/mDNSResponder/Default/description)
67  .
68  This package contains the mDNS server daemon.
69 endef
70
71 define Package/mdnsresponder
72 $(call Package/mDNSResponder/Default)
73   TITLE+= suite (meta)
74   DEPENDS+= +mdns-utils +mdnsd
75 endef
76
77 define Package/mdnsresponder/description
78 $(call Package/mDNSResponder/Default/description)
79  .
80  This meta package contains only dependencies on other packages.
81 endef
82
83 # I have no idea why -lc is required, but without it, C library symbols are
84 # not found:
85 MAKE_FLAGS += \
86         CFLAGS_DEBUG="$(TARGET_CFLAGS)" \
87         LINKOPTS=-lc \
88         LDCONFIG= \
89         ETCBASE="$(PKG_INSTALL_DIR)/etc" \
90         INSTBASE="$(PKG_INSTALL_DIR)/usr" \
91         NSSINSTPATH="$(PKG_INSTALL_DIR)/lib" \
92         MANPATH="$(PKG_INSTALL_DIR)/usr/man" \
93         STARTUPSCRIPTDIR="$(PKG_INSTALL_DIR)/etc/init.d" \
94         RUNLEVELSCRIPTSDIR="$(PKG_INSTALL_DIR)/etc/rc.d" \
95         os=linux-uclibc
96 MAKE_PATH = mDNSPosix
97
98 define Build/Compile
99         $(call Build/Compile/Default)
100         # XXX: mDNSResponder's "make install" does not seem to create:
101         mkdir -p $(PKG_INSTALL_DIR)/lib/
102         mkdir -p $(PKG_INSTALL_DIR)/usr/bin/
103         mkdir -p $(PKG_INSTALL_DIR)/usr/sbin/
104         mkdir -p $(PKG_INSTALL_DIR)/usr/lib/
105         mkdir -p $(PKG_INSTALL_DIR)/usr/man/man5/
106         mkdir -p $(PKG_INSTALL_DIR)/usr/man/man8/
107         mkdir -p $(PKG_INSTALL_DIR)/usr/include/
108         mkdir -p $(PKG_INSTALL_DIR)/etc/
109         mkdir -p $(PKG_INSTALL_DIR)/etc/init.d/
110         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/
111         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc2.d/
112         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc3.d/
113         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc4.d/
114         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc5.d/
115         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc0.d/
116         mkdir -p $(PKG_INSTALL_DIR)/etc/rc.d/rc6.d/
117 endef
118
119 define Build/InstallDev
120         $(INSTALL_DIR) $(1)/usr/include
121         $(CP) $(PKG_BUILD_DIR)/mDNSShared/dns_sd.h $(1)/usr/include/
122         $(INSTALL_DIR) $(1)/usr/lib
123         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/*.so* $(1)/usr/lib/
124 endef
125
126 define Package/mdns-utils/conffile
127   /etc/init.d/mDNSResponder
128 endef
129
130 define Package/mdns-utils/install
131         $(INSTALL_DIR) $(1)/usr/bin/
132         $(CP) $(PKG_INSTALL_DIR)/usr/bin/dns-sd $(1)/usr/bin/
133         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/mDNSClientPosix $(1)/usr/bin/mDNSClient
134         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/mDNSIdentify $(1)/usr/bin/mDNSIdentify
135         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/mDNSNetMonitor $(1)/usr/bin/mDNSNetMonitor
136         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/mDNSProxyResponderPosix $(1)/usr/bin/mDNSProxyResponder
137         $(CP) $(PKG_BUILD_DIR)/mDNSPosix/build/prod/mDNSResponderPosix $(1)/usr/bin/mDNSResponder
138         $(INSTALL_DIR) $(1)/etc
139         $(INSTALL_DATA) ./files/mDNSResponder.conf $(1)/etc/
140         $(INSTALL_DIR) $(1)/etc/init.d
141         $(INSTALL_BIN) ./files/mDNSResponder.init $(1)/etc/init.d/mDNSResponder
142 endef
143
144 define Package/mdns-utils/conffiles
145 /etc/mDNSResponder.conf
146 endef
147
148 define Package/mdnsd/install
149         $(INSTALL_DIR) $(1)/usr/sbin/
150         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/mdnsd $(1)/usr/sbin/
151         $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
152         $(INSTALL_DIR) $(1)/etc/init.d
153         $(INSTALL_BIN) ./files/mdnsd.init $(1)/etc/init.d/mdnsd
154         $(INSTALL_DIR) $(1)/usr/lib/
155         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/
156         $(LN) -s libdns_sd.so.1 $(1)/usr/lib/libdns_sd.so
157 endef
158
159 define Package/mdnsresponder/install
160         :
161 endef
162
163 $(eval $(call BuildPackage,mdns-utils))
164 $(eval $(call BuildPackage,mdnsd))
165 $(eval $(call BuildPackage,mdnsresponder))