1LOCAL_PATH := $(call my-dir) 2 3commonSources := \ 4 mDNSShared/dnssd_clientlib.c \ 5 mDNSShared/dnssd_clientstub.c \ 6 mDNSShared/dnssd_ipc.c 7 8commonLibs := libcutils liblog 9 10commonFlags := \ 11 -O2 -g \ 12 -fno-strict-aliasing \ 13 -D_GNU_SOURCE \ 14 -DHAVE_IPV6 \ 15 -DNOT_HAVE_SA_LEN \ 16 -DPLATFORM_NO_RLIMIT \ 17 -DMDNS_DEBUGMSGS=0 \ 18 -DMDNS_UDS_SERVERPATH=\"/dev/socket/mdnsd\" \ 19 -DMDNS_USERNAME=\"mdnsr\" \ 20 -W \ 21 -Wall \ 22 -Wextra \ 23 -Wno-array-bounds \ 24 -Wno-pointer-sign \ 25 -Wno-unused \ 26 -Wno-unused-but-set-variable \ 27 -Wno-unused-parameter \ 28 -Werror=implicit-function-declaration \ 29 30daemonSources := mDNSCore/mDNS.c \ 31 mDNSCore/DNSDigest.c \ 32 mDNSCore/uDNS.c \ 33 mDNSCore/DNSCommon.c \ 34 mDNSShared/uds_daemon.c \ 35 mDNSShared/mDNSDebug.c \ 36 mDNSShared/dnssd_ipc.c \ 37 mDNSShared/GenLinkedList.c \ 38 mDNSShared/PlatformCommon.c \ 39 mDNSPosix/PosixDaemon.c \ 40 mDNSPosix/mDNSPosix.c \ 41 mDNSPosix/mDNSUNP.c 42 43daemonIncludes := external/mdnsresponder/mDNSCore \ 44 external/mdnsresponder/mDNSShared \ 45 external/mdnsresponder/mDNSPosix 46 47######################### 48 49include $(CLEAR_VARS) 50LOCAL_SRC_FILES := $(daemonSources) 51LOCAL_MODULE := mdnsd 52LOCAL_MODULE_TAGS := optional 53 54LOCAL_C_INCLUDES := $(daemonIncludes) 55 56LOCAL_CFLAGS := \ 57 $(commonFlags) \ 58 -DTARGET_OS_LINUX \ 59 -DMDNS_VERSIONSTR_NODTS=1 \ 60 -DHAVE_LINUX \ 61 -DUSES_NETLINK \ 62 63LOCAL_STATIC_LIBRARIES := $(commonLibs) libc 64LOCAL_FORCE_STATIC_EXECUTABLE := true 65LOCAL_INIT_RC := mdnsd.rc 66include $(BUILD_EXECUTABLE) 67 68include $(CLEAR_VARS) 69LOCAL_SRC_FILES := $(daemonSources) 70LOCAL_MODULE := mdnsd 71LOCAL_MODULE_TAGS := optional 72 73LOCAL_C_INCLUDES := $(daemonIncludes) 74 75LOCAL_CFLAGS := \ 76 $(commonFlags) \ 77 -DMDNS_VERSIONSTR_NODTS=1 \ 78 79LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 80LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC 81 82LOCAL_STATIC_LIBRARIES := $(commonLibs) 83include $(BUILD_HOST_EXECUTABLE) 84 85include $(CLEAR_VARS) 86LOCAL_SRC_FILES := \ 87 mDNSWindows/SystemService/main.c \ 88 mDNSWindows/SystemService/Service.c \ 89 mDNSWindows/Secret.c \ 90 mDNSWindows/mDNSWin32.c \ 91 mDNSShared/dnssd_ipc.c \ 92 mDNSShared/uds_daemon.c \ 93 mDNSShared/mDNSDebug.c \ 94 mDNSShared/GenLinkedList.c \ 95 mDNSShared/DebugServices.c \ 96 mDNSCore/DNSDigest.c \ 97 mDNSCore/DNSCommon.c \ 98 mDNSCore/uDNS.c \ 99 mDNSCore/mDNS.c \ 100 android/windows_firewall_dummy.c 101 102LOCAL_MODULE := mdnsd 103LOCAL_MODULE_TAGS := optional 104LOCAL_MODULE_CLASS := EXECUTABLES 105 106mdnsd_generated_sources := $(call local-generated-sources-dir) 107event_log_h := $(mdnsd_generated_sources)/EventLog.h 108event_log_o := $(mdnsd_generated_sources)/EventLog.o 109event_log_rc := $(mdnsd_generated_sources)/EventLog.rc 110 111event_log_mc := external/mdnsresponder/mDNSWindows/SystemService/EventLog.mc 112mingw_bin := prebuilts/gcc/$(HOST_PREBUILT_TAG)/host/x86_64-w64-mingw32-4.8/bin 113windmc := $(mingw_bin)/x86_64-w64-mingw32-windmc 114windres := $(mingw_bin)/x86_64-w64-mingw32-windres 115 116$(event_log_h) $(event_log_o): $(event_log_mc) 117 @echo "Generating EventLog messages" 118 @mkdir -p $(mdnsd_generated_sources) 119 @$(windmc) -r$(mdnsd_generated_sources) -h$(mdnsd_generated_sources) $< 120 @$(windres) -F pe-i386 -I$(mdnsd_generated_sources) $(event_log_rc) $(event_log_o) 121 122LOCAL_GENERATED_SOURCES := \ 123 $(mdnsd_generated_sources)/EventLog.h \ 124 $(mdnsd_generated_sources)/EventLog.o 125 126LOCAL_C_INCLUDES := \ 127 external/mdnsresponder/mDNSShared \ 128 external/mdnsresponder/mDNSCore \ 129 external/mdnsresponder/mDNSWindows/SystemService \ 130 external/mdnsresponder/mDNSWindows \ 131 external/mdnsresponder/android/caseMapping \ 132 $(mdnsd_generated_sources) 133 134LOCAL_CFLAGS := $(commonFlags) \ 135 -DMDNS_VERSIONSTR_NODTS=1 \ 136 -DTARGET_OS_WINDOWS \ 137 -DTARGET_OS_WIN32 \ 138 -DWIN32 \ 139 -DNDEBUG \ 140 -D_CONSOLE \ 141 -D_WIN32_LEAN_AND_MEAN \ 142 -DUSE_TCP_LOOPBACK \ 143 -DPLATFORM_NO_STRSEP \ 144 -DPLATFORM_NO_EPIPE \ 145 -DPLATFORM_NO_RLIMIT \ 146 -DPID_FILE='""' \ 147 -DUNICODE \ 148 -D_UNICODE \ 149 -D_CRT_SECURE_NO_DEPRECATE \ 150 -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 \ 151 -D_LEGACY_NAT_TRAVERSAL \ 152 -include stdint.h \ 153 -include winsock2.h \ 154 -include ws2ipdef.h \ 155 -include wincrypt.h \ 156 -include netioapi.h \ 157 -Wno-sign-compare \ 158 -Wno-empty-body 159 160LOCAL_LDFLAGS := -lws2_32 -liphlpapi -lpowrprof -lnetapi32 -municode 161 162 163LOCAL_MODULE_HOST_OS := windows 164 165LOCAL_STATIC_LIBRARIES := $(commonLibs) 166include $(BUILD_HOST_EXECUTABLE) 167########################## 168 169include $(CLEAR_VARS) 170LOCAL_SRC_FILES := $(commonSources) 171LOCAL_MODULE := libmdnssd 172LOCAL_MODULE_TAGS := optional 173LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 174LOCAL_SYSTEM_SHARED_LIBRARIES := libc 175LOCAL_SHARED_LIBRARIES := $(commonLibs) 176LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 177include $(BUILD_SHARED_LIBRARY) 178 179include $(CLEAR_VARS) 180LOCAL_SRC_FILES := $(commonSources) 181LOCAL_MODULE := libmdnssd 182LOCAL_MODULE_TAGS := optional 183LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 184LOCAL_STATIC_LIBRARIES := $(commonLibs) 185LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 186include $(BUILD_STATIC_LIBRARY) 187 188include $(CLEAR_VARS) 189LOCAL_SRC_FILES := $(commonSources) 190LOCAL_SRC_FILES_windows := mDNSWindows/DLL/dllmain.c 191LOCAL_MODULE := libmdnssd 192LOCAL_MODULE_TAGS := optional 193LOCAL_CFLAGS := $(commonFlags) 194LOCAL_CFLAGS_windows := \ 195 -DTARGET_OS_WINDOWS \ 196 -DWIN32 \ 197 -DNDEBUG \ 198 -D_WINDOWS \ 199 -D_USERDLL \ 200 -D_MDNS_DEBUGMSGS=0 \ 201 -D_WIN32_LEAN_AND_MEAN \ 202 -D_SSIZE_T \ 203 -DUSE_TCP_LOOPBACK \ 204 -D_CRT_SECURE_NO_DEPRECATE \ 205 -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 \ 206 -DNOT_HAVE_SA_LENGTH \ 207 -Wno-unknown-pragmas \ 208 -Wno-sign-compare \ 209 -Wno-overflow \ 210 -include stdint.h \ 211 -include winsock2.h \ 212 -include ws2ipdef.h \ 213 -include wincrypt.h \ 214 -include iphlpapi.h \ 215 -include netioapi.h \ 216 -include stdlib.h \ 217 -include stdio.h 218 219LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 220LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC 221LOCAL_STATIC_LIBRARIES := $(commonLibs) 222LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 223LOCAL_C_INCLUDES_windows := external/mdnsresponder/mDNSShared external/mdnsresponder/mDNSWindows 224LOCAL_C_INCLUDES_windows += external/mdnsresponder/android/caseMapping 225LOCAL_MODULE_HOST_OS := darwin linux windows 226include $(BUILD_HOST_STATIC_LIBRARY) 227 228############################ 229 230include $(CLEAR_VARS) 231LOCAL_SRC_FILES := Clients/dns-sd.c Clients/ClientCommon.c 232LOCAL_MODULE := dnssd 233LOCAL_MODULE_TAGS := optional 234LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 235LOCAL_SYSTEM_SHARED_LIBRARIES := libc 236LOCAL_SHARED_LIBRARIES := libmdnssd libcutils liblog 237include $(BUILD_EXECUTABLE) 238 239############################ 240# This builds an mDns that is embeddable within GmsCore for the nearby connections API 241 242### STATIC LIB ### 243include $(CLEAR_VARS) 244 245LOCAL_SDK_VERSION := 8 246LOCAL_MODULE := libmdns_jni_static 247LOCAL_SRC_FILES := /mDNSCore/mDNS.c \ 248 /mDNSCore/DNSDigest.c \ 249 /mDNSCore/uDNS.c \ 250 /mDNSCore/DNSCommon.c \ 251 /mDNSPosix/mDNSPosix.c \ 252 /mDNSPosix/mDNSUNP.c \ 253 /mDNSShared/mDNSDebug.c \ 254 /mDNSShared/dnssd_clientlib.c \ 255 /mDNSShared/dnssd_clientshim.c \ 256 /mDNSShared/dnssd_ipc.c \ 257 /mDNSShared/GenLinkedList.c \ 258 /mDNSShared/PlatformCommon.c 259 260LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \ 261 external/mdnsresponder/mDNSCore \ 262 external/mdnsresponder/mDNSShared 263 264LOCAL_CFLAGS += -Os -fvisibility=hidden 265LOCAL_CFLAGS += $(commonFlags) \ 266 -UMDNS_DEBUGMSGS \ 267 -DMDNS_DEBUGMSGS=0 \ 268 -DSO_REUSEADDR \ 269 -DUNICAST_DISABLED \ 270 -DTARGET_OS_LINUX \ 271 -DHAVE_LINUX \ 272 -DUSES_NETLINK 273 274ifeq ($(TARGET_BUILD_TYPE),debug) 275 LOCAL_CFLAGS += -O0 -UNDEBUG -fno-omit-frame-pointer 276endif 277 278include $(BUILD_STATIC_LIBRARY) 279