]> git.saurik.com Git - apple/mdnsresponder.git/blame - Makefile
mDNSResponder-1310.40.42.tar.gz
[apple/mdnsresponder.git] / Makefile
CommitLineData
c9b9ae52 1#
f0cc3e7b
A
2# Copyright (c) 2003-2018 Apple Inc. All rights reserved.
3#
4# Top level makefile for Build & Integration (B&I).
c9b9ae52 5#
f0cc3e7b 6# This file is used to facilitate checking the mDNSResponder project directly from git and submitting to B&I at Apple.
c9b9ae52 7#
f0cc3e7b 8# The various platform directories contain makefiles or projects specific to that platform.
c9b9ae52
A
9#
10# B&I builds must respect the following target:
11# install:
12# installsrc:
13# installhdrs:
2682e09e 14# installapi:
c9b9ae52
A
15# clean:
16#
17
83fb1e36 18include $(MAKEFILEPATH)/pb_makefiles/platform.make
c9b9ae52 19
19fa75a9 20MVERS = "mDNSResponder-1310.40.42"
67c8f8a1 21
12c5fa7a 22VER =
83fb1e36
A
23ifneq ($(strip $(GCC_VERSION)),)
24 VER = -- GCC_VERSION=$(GCC_VERSION)
25endif
26echo "VER = $(VER)"
67c8f8a1 27
f0cc3e7b
A
28projectdir := $(SRCROOT)/mDNSMacOSX
29buildsettings := OBJROOT=$(OBJROOT) SYMROOT=$(SYMROOT) DSTROOT=$(DSTROOT) MVERS=$(MVERS) SDKROOT=$(SDKROOT)
30
31.PHONY: install installSome installEmpty installExtras SystemLibraries installhdrs installapi installsrc java clean
32
19fa75a9
A
33# Sanitizer support
34# Disable Sanitizer instrumentation in LibSystem contributors. See rdar://problem/29952210.
35UNSUPPORTED_SANITIZER_PROJECTS := mDNSResponderSystemLibraries mDNSResponderSystemLibraries_Sim
36PROJECT_SUPPORTS_SANITIZERS := 1
37ifneq ($(words $(filter $(UNSUPPORTED_SANITIZER_PROJECTS), $(RC_ProjectName))), 0)
38 PROJECT_SUPPORTS_SANITIZERS := 0
39endif
40ifeq ($(RC_ENABLE_ADDRESS_SANITIZATION),1)
41 ifeq ($(PROJECT_SUPPORTS_SANITIZERS),1)
42 $(info Enabling Address Sanitizer)
43 buildsettings += -enableAddressSanitizer YES
44 else
45 $(warning WARNING: Address Sanitizer not supported for project $(RC_ProjectName))
46 endif
47endif
48ifeq ($(RC_ENABLE_THREAD_SANITIZATION),1)
49 ifeq ($(PROJECT_SUPPORTS_SANITIZERS),1)
50 $(info Enabling Thread Sanitizer)
51 buildsettings += -enableThreadSanitizer YES
52 else
53 $(warning WARNING: Thread Sanitizer not supported for project $(RC_ProjectName))
54 endif
55endif
56ifeq ($(RC_ENABLE_UNDEFINED_BEHAVIOR_SANITIZATION),1)
57 ifeq ($(PROJECT_SUPPORTS_SANITIZERS),1)
58 $(info Enabling Undefined Behavior Sanitizer)
59 buildsettings += -enableUndefinedBehaviorSanitizer YES
60 else
61 $(warning WARNING: Undefined Behavior Sanitizer not supported for project $(RC_ProjectName))
62 endif
63endif
64
f0cc3e7b
A
65# B&I install build targets
66#
67# For the mDNSResponder build alias, the make target used by B&I depends on the platform:
68#
69# Platform Make Target
70# -------- -----------
71# osx install
72# ios installSome
73# atv installSome
74# watch installSome
75#
76# For the mDNSResponderSystemLibraries and mDNSResponderSystemLibraries_sim build aliases, B&I uses the SystemLibraries
77# target for all platforms.
78
79install:
80ifeq ($(RC_ProjectName), mDNSResponderServices)
19fa75a9
A
81ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), osx)
82 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Services-macOS' $(VER)
83else
f0cc3e7b 84 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Services' $(VER)
19fa75a9
A
85endif
86else ifeq ($(RC_ProjectName), mDNSResponderServices_Sim)
87 mkdir -p $(DSTROOT)/AppleInternal
f0cc3e7b
A
88else
89 cd '$(projectdir)'; xcodebuild install $(buildsettings) $(VER)
90endif
91
67c8f8a1 92installSome:
f0cc3e7b 93 cd '$(projectdir)'; xcodebuild install $(buildsettings) $(VER)
67c8f8a1 94
f0cc3e7b
A
95installEmpty:
96 mkdir -p $(DSTROOT)/AppleInternal
c9b9ae52 97
f0cc3e7b
A
98installExtras:
99ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), osx)
100 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Extras-macOS' $(VER)
101else ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), ios)
102 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Extras-iOS' $(VER)
19fa75a9
A
103else ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), atv)
104 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Extras-tvOS' $(VER)
f0cc3e7b
A
105else
106 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target 'Build Extras' $(VER)
107endif
c9b9ae52 108
f0cc3e7b
A
109SystemLibraries:
110 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target SystemLibraries $(VER)
111
112# B&I installhdrs build targets
c9b9ae52
A
113
114installhdrs::
f0cc3e7b 115ifeq ($(RC_ProjectName), mDNSResponderServices)
19fa75a9
A
116ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), osx)
117 cd '$(projectdir)'; xcodebuild installhdrs $(buildsettings) -target 'Build Services-macOS' $(VER)
118else
f0cc3e7b 119 cd '$(projectdir)'; xcodebuild installhdrs $(buildsettings) -target 'Build Services' $(VER)
19fa75a9
A
120endif
121else ifeq ($(RC_ProjectName), mDNSResponderServices_Sim)
122 mkdir -p $(DSTROOT)/AppleInternal
f0cc3e7b
A
123else ifneq ($(findstring SystemLibraries,$(RC_ProjectName)),)
124 cd '$(projectdir)'; xcodebuild installhdrs $(buildsettings) -target SystemLibraries $(VER)
125endif
126
127# B&I installapi build targets
c9b9ae52 128
2682e09e 129installapi:
f0cc3e7b 130ifeq ($(RC_ProjectName), mDNSResponderServices)
19fa75a9
A
131ifeq ($(RC_PROJECT_COMPILATION_PLATFORM), osx)
132 cd '$(projectdir)'; xcodebuild installapi $(buildsettings) -target 'Build Services-macOS' $(VER)
133else
f0cc3e7b 134 cd '$(projectdir)'; xcodebuild installapi $(buildsettings) -target 'Build Services' $(VER)
19fa75a9
A
135endif
136else ifeq ($(RC_ProjectName), mDNSResponderServices_Sim)
137 mkdir -p $(DSTROOT)/AppleInternal
f0cc3e7b
A
138else ifneq ($(findstring SystemLibraries,$(RC_ProjectName)),)
139 cd '$(projectdir)'; xcodebuild installapi $(buildsettings) -target SystemLibrariesDynamic $(VER)
140endif
141
142# Misc. targets
143
144installsrc:
145 ditto . '$(SRCROOT)'
146 rm -rf '$(SRCROOT)/mDNSWindows' '$(SRCROOT)/Clients/FirefoxExtension'
2682e09e 147
51601d48 148java:
f0cc3e7b 149 cd '$(projectdir)'; xcodebuild install $(buildsettings) -target libjdns_sd.jnilib $(VER)
51601d48 150
c9b9ae52
A
151clean::
152 echo clean