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