2 # Copyright (C) 2009-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
10 PKG_NAME:=mDNSResponder
14 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
16 PKG_MD5SUM:=39142ab70bd82a096801ce346f86cbab
18 PKG_BUILD_DIR:=$(BUILD_DIR)/mDNSResponder-$(PKG_VERSION)
23 include $(INCLUDE_DIR)/package.mk
25 # sys/capability.h is not part of *libc*
26 PKG_BUILD_DEPENDS:=libcap
28 define Package/mDNSResponder/Default
31 SUBMENU:=IP Addresses and Names
33 URL:=http://developer.apple.com/networking/bonjour/
36 define Package/mDNSResponder/Default/description
37 Bonjour, also known as zero-configuration networking, enables
38 automatic discovery of computers, devices, and services on
42 define Package/mdns-utils
43 $(call Package/mDNSResponder/Default)
44 TITLE+= client utilities
48 define Package/mdns-utils/description
49 $(call Package/mDNSResponder/Default/description)
51 This package contains mDNS client utilities:
61 $(call Package/mDNSResponder/Default)
65 define Package/mdnsd/description
66 $(call Package/mDNSResponder/Default/description)
68 This package contains the mDNS server daemon.
71 define Package/mdnsresponder
72 $(call Package/mDNSResponder/Default)
74 DEPENDS+= +mdns-utils +mdnsd
77 define Package/mdnsresponder/description
78 $(call Package/mDNSResponder/Default/description)
80 This meta package contains only dependencies on other packages.
83 # I have no idea why -lc is required, but without it, C library symbols are
86 CFLAGS_DEBUG="$(TARGET_CFLAGS)" \
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" \
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/
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/
126 define Package/mdns-utils/conffile
127 /etc/init.d/mDNSResponder
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
144 define Package/mdns-utils/conffiles
145 /etc/mDNSResponder.conf
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
159 define Package/mdnsresponder/install
163 $(eval $(call BuildPackage,mdns-utils))
164 $(eval $(call BuildPackage,mdnsd))
165 $(eval $(call BuildPackage,mdnsresponder))