1 LOCAL_PATH := $(call my-dir) 2 3 commonSources := \ 4 mDNSShared/dnssd_clientlib.c \ 5 mDNSShared/dnssd_clientstub.c \ 6 mDNSShared/dnssd_ipc.c 7 8 commonLibs := libcutils liblog 9 10 commonFlags := \ 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 30 daemonSources := 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 43 daemonIncludes := external/mdnsresponder/mDNSCore \ 44 external/mdnsresponder/mDNSShared \ 45 external/mdnsresponder/mDNSPosix 46 47 ######################### 48 49 include $(CLEAR_VARS) 50 LOCAL_SRC_FILES := $(daemonSources) 51 LOCAL_MODULE := mdnsd 52 LOCAL_MODULE_TAGS := optional 53 54 LOCAL_C_INCLUDES := $(daemonIncludes) 55 56 LOCAL_CFLAGS := \ 57 $(commonFlags) \ 58 -DTARGET_OS_LINUX \ 59 -DMDNS_VERSIONSTR_NODTS=1 \ 60 -DHAVE_LINUX \ 61 -DUSES_NETLINK \ 62 63 LOCAL_STATIC_LIBRARIES := $(commonLibs) libc 64 LOCAL_FORCE_STATIC_EXECUTABLE := true 65 LOCAL_INIT_RC := mdnsd.rc 66 include $(BUILD_EXECUTABLE) 67 68 include $(CLEAR_VARS) 69 LOCAL_SRC_FILES := $(daemonSources) 70 LOCAL_MODULE := mdnsd 71 LOCAL_MODULE_TAGS := optional 72 73 LOCAL_C_INCLUDES := $(daemonIncludes) 74 75 LOCAL_CFLAGS := \ 76 $(commonFlags) \ 77 -DMDNS_VERSIONSTR_NODTS=1 \ 78 79 LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 80 LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC 81 82 LOCAL_STATIC_LIBRARIES := $(commonLibs) 83 include $(BUILD_HOST_EXECUTABLE) 84 85 include $(CLEAR_VARS) 86 LOCAL_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 102 LOCAL_MODULE := mdnsd 103 LOCAL_MODULE_TAGS := optional 104 LOCAL_MODULE_CLASS := EXECUTABLES 105 106 mdnsd_generated_sources := $(call local-generated-sources-dir) 107 event_log_h := $(mdnsd_generated_sources)/EventLog.h 108 event_log_o := $(mdnsd_generated_sources)/EventLog.o 109 event_log_rc := $(mdnsd_generated_sources)/EventLog.rc 110 111 event_log_mc := external/mdnsresponder/mDNSWindows/SystemService/EventLog.mc 112 mingw_bin := prebuilts/gcc/$(HOST_PREBUILT_TAG)/host/x86_64-w64-mingw32-4.8/bin 113 windmc := $(mingw_bin)/x86_64-w64-mingw32-windmc 114 windres := $(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 122 LOCAL_GENERATED_SOURCES := \ 123 $(mdnsd_generated_sources)/EventLog.h \ 124 $(mdnsd_generated_sources)/EventLog.o 125 126 LOCAL_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 134 LOCAL_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 160 LOCAL_LDFLAGS := -lws2_32 -liphlpapi -lpowrprof -lnetapi32 -municode 161 162 163 LOCAL_MODULE_HOST_OS := windows 164 165 LOCAL_STATIC_LIBRARIES := $(commonLibs) 166 include $(BUILD_HOST_EXECUTABLE) 167 ########################## 168 169 include $(CLEAR_VARS) 170 LOCAL_SRC_FILES := $(commonSources) 171 LOCAL_MODULE := libmdnssd 172 LOCAL_MODULE_TAGS := optional 173 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 174 LOCAL_SYSTEM_SHARED_LIBRARIES := libc 175 LOCAL_SHARED_LIBRARIES := $(commonLibs) 176 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 177 include $(BUILD_SHARED_LIBRARY) 178 179 include $(CLEAR_VARS) 180 LOCAL_SRC_FILES := $(commonSources) 181 LOCAL_MODULE := libmdnssd 182 LOCAL_MODULE_TAGS := optional 183 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 184 LOCAL_STATIC_LIBRARIES := $(commonLibs) 185 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 186 include $(BUILD_STATIC_LIBRARY) 187 188 include $(CLEAR_VARS) 189 LOCAL_SRC_FILES := $(commonSources) 190 LOCAL_SRC_FILES_windows := mDNSWindows/DLL/dllmain.c 191 LOCAL_MODULE := libmdnssd 192 LOCAL_MODULE_TAGS := optional 193 LOCAL_CFLAGS := $(commonFlags) 194 LOCAL_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 219 LOCAL_CFLAGS_linux := -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 220 LOCAL_CFLAGS_darwin := -DTARGET_OS_MAC 221 LOCAL_STATIC_LIBRARIES := $(commonLibs) 222 LOCAL_EXPORT_C_INCLUDE_DIRS := external/mdnsresponder/mDNSShared 223 LOCAL_C_INCLUDES_windows := external/mdnsresponder/mDNSShared external/mdnsresponder/mDNSWindows 224 LOCAL_C_INCLUDES_windows += external/mdnsresponder/android/caseMapping 225 LOCAL_MODULE_HOST_OS := darwin linux windows 226 include $(BUILD_HOST_STATIC_LIBRARY) 227 228 ############################ 229 230 include $(CLEAR_VARS) 231 LOCAL_SRC_FILES := Clients/dns-sd.c Clients/ClientCommon.c 232 LOCAL_MODULE := dnssd 233 LOCAL_MODULE_TAGS := optional 234 LOCAL_CFLAGS := $(commonFlags) -DTARGET_OS_LINUX -DHAVE_LINUX -DUSES_NETLINK 235 LOCAL_SYSTEM_SHARED_LIBRARIES := libc 236 LOCAL_SHARED_LIBRARIES := libmdnssd libcutils liblog 237 include $(BUILD_EXECUTABLE) 238 239 ############################ 240 # This builds an mDns that is embeddable within GmsCore for the nearby connections API 241 242 ### STATIC LIB ### 243 include $(CLEAR_VARS) 244 245 LOCAL_SDK_VERSION := 8 246 LOCAL_MODULE := libmdns_jni_static 247 LOCAL_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 260 LOCAL_C_INCLUDES := external/mdnsresponder/mDNSPosix \ 261 external/mdnsresponder/mDNSCore \ 262 external/mdnsresponder/mDNSShared 263 264 LOCAL_CFLAGS += -Os -fvisibility=hidden 265 LOCAL_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 274 ifeq ($(TARGET_BUILD_TYPE),debug) 275 LOCAL_CFLAGS += -O0 -UNDEBUG -fno-omit-frame-pointer 276 endif 277 278 include $(BUILD_STATIC_LIBRARY) 279