Makefile (4839B)
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:=1 13 14 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz 15 PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/ 16 PKG_MD5SUM:=940057ac8b513b00e8e9ca12ef796762 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))