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