2016-06-06 13:18:52 +03:00
|
|
|
TOP=../..
|
2016-05-26 16:06:52 +03:00
|
|
|
|
|
|
|
include $(TOP)/Make.config
|
|
|
|
|
|
|
|
# a 64bits mono is required because of the clang requirement
|
2016-07-15 20:20:52 +03:00
|
|
|
MONO ?= mono64 --debug
|
2021-01-12 11:55:23 +03:00
|
|
|
SHARPIE ?= sharpie
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2018-02-08 07:19:48 +03:00
|
|
|
XCODE=$(abspath $(XCODE_DEVELOPER_ROOT)/../..)
|
|
|
|
|
2021-11-22 20:50:17 +03:00
|
|
|
ANNOTATIONS_DIR=.
|
|
|
|
|
2018-01-25 17:12:41 +03:00
|
|
|
all-local::
|
2016-05-26 16:06:52 +03:00
|
|
|
|
|
|
|
clean-local::
|
2018-01-25 17:12:41 +03:00
|
|
|
rm -f xtro-report/bin/Debug/xtro-report.exe bin/Debug/xtro-sharpie.exe
|
|
|
|
rm -f *.tmp
|
2016-05-26 16:06:52 +03:00
|
|
|
rm -rf *os*.pch*
|
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
bin/Debug/xtro-sharpie.exe xtro-report/bin/Debug/xtro-report.exe xtro-sanity/bin/Debug/xtro-sanity.exe build: .stamp-build
|
|
|
|
|
|
|
|
.stamp-build: $(wildcard *.cs)
|
|
|
|
$(Q_BUILD) $(SYSTEM_MSBUILD) $(MSBUILD_VERBOSITY) xtro-sharpie.sln /r /bl:$@.binlog
|
|
|
|
$(Q) touch $@
|
2017-08-22 16:47:38 +03:00
|
|
|
|
2020-11-27 20:53:25 +03:00
|
|
|
XIOS ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/iOS/Xamarin.iOS.dll
|
2017-02-15 00:55:13 +03:00
|
|
|
XIOS_GL ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/OpenTK-1.0.dll
|
2016-05-26 16:06:52 +03:00
|
|
|
XIOS_ARCH = arm64
|
|
|
|
XIOS_PCH = iphoneos$(IOS_SDK_VERSION)-$(XIOS_ARCH).pch
|
|
|
|
|
2017-10-26 17:43:45 +03:00
|
|
|
$(XIOS_PCH): .stamp-check-sharpie
|
2021-08-18 18:21:54 +03:00
|
|
|
$(SHARPIE) sdk-db --xcode $(XCODE) -s iphoneos$(IOS_SDK_VERSION) -a $(XIOS_ARCH) \
|
|
|
|
-exclude RealityKit \
|
|
|
|
-i ThreadNetwork/THClient.h \
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2020-11-27 20:53:25 +03:00
|
|
|
XWATCHOS ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/watchOS/Xamarin.WatchOS.dll
|
2016-05-26 16:06:52 +03:00
|
|
|
XWATCHOS_ARCH = armv7
|
|
|
|
XWATCHOS_PCH = watchos$(WATCH_SDK_VERSION)-$(XWATCHOS_ARCH).pch
|
|
|
|
|
2017-10-26 17:43:45 +03:00
|
|
|
$(XWATCHOS_PCH): .stamp-check-sharpie
|
2021-06-11 03:07:20 +03:00
|
|
|
$(SHARPIE) sdk-db --xcode $(XCODE) -s watchos$(WATCH_SDK_VERSION) -a $(XWATCHOS_ARCH) -exclude RealityKit
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2020-11-27 20:53:25 +03:00
|
|
|
XTVOS ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/tvOS/Xamarin.TVOS.dll
|
2017-02-15 00:55:13 +03:00
|
|
|
XTVOS_GL ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/OpenTK-1.0.dll
|
2016-05-26 16:06:52 +03:00
|
|
|
XTVOS_ARCH = arm64
|
|
|
|
XTVOS_PCH = appletvos$(TVOS_SDK_VERSION)-$(XTVOS_ARCH).pch
|
|
|
|
|
2017-10-26 17:43:45 +03:00
|
|
|
$(XTVOS_PCH): .stamp-check-sharpie
|
2021-06-11 03:07:20 +03:00
|
|
|
$(SHARPIE) sdk-db --xcode $(XCODE) -s appletvos$(TVOS_SDK_VERSION) -a $(XTVOS_ARCH) -exclude RealityKit
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2021-11-19 10:13:43 +03:00
|
|
|
XMACOS ?= $(TOP)/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/64bits/mobile/Xamarin.Mac.dll
|
|
|
|
XMACOS_ARCH = x86_64
|
2021-11-22 20:48:05 +03:00
|
|
|
XMACOS_PCH = macosx$(MACOS_SDK_VERSION)-$(XMACOS_ARCH).pch
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2021-11-19 10:13:43 +03:00
|
|
|
$(XMACOS_PCH): .stamp-check-sharpie
|
2021-11-22 20:48:05 +03:00
|
|
|
$(SHARPIE) sdk-db --xcode $(XCODE) -s macosx$(MACOS_SDK_VERSION) -a $(XMACOS_ARCH) -exclude RealityKit -exclude JavaNativeFoundation
|
2016-05-26 16:06:52 +03:00
|
|
|
|
2021-11-19 10:13:43 +03:00
|
|
|
XMACCATALYST ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/MacCatalyst/Xamarin.MacCatalyst.dll
|
|
|
|
XMACCATALYST_GL ?=
|
|
|
|
XMACCATALYST_ARCH = x86_64
|
|
|
|
XMACCATALYST_PCH = ios$(MACCATALYST_SDK_VERSION)-macabi-$(XMACCATALYST_ARCH).pch
|
2021-01-11 13:56:58 +03:00
|
|
|
|
2021-11-19 10:13:43 +03:00
|
|
|
$(XMACCATALYST_PCH): .stamp-check-sharpie
|
|
|
|
$(SHARPIE) sdk-db --xcode $(XCODE) -s ios$(MACCATALYST_SDK_VERSION)-macabi -a $(XMACCATALYST_ARCH) \
|
2021-01-11 13:56:58 +03:00
|
|
|
-exclude AGL \
|
|
|
|
-exclude CalendarStore \
|
|
|
|
-exclude Carbon \
|
|
|
|
-exclude ClockKit \
|
|
|
|
-exclude DiscRecordingUI \
|
|
|
|
-exclude GLKit \
|
|
|
|
-exclude ICADevices \
|
|
|
|
-exclude InputMethodKit \
|
|
|
|
-exclude InstallerPlugins \
|
|
|
|
-exclude IOBluetooth \
|
|
|
|
-exclude IOBluetoothUI \
|
|
|
|
-exclude JavaNativeFoundation \
|
|
|
|
-exclude LDAP \
|
|
|
|
-exclude Python \
|
|
|
|
-exclude Quartz \
|
2021-06-11 03:07:20 +03:00
|
|
|
-exclude QuickLookUI \
|
|
|
|
-exclude RealityKit \
|
2021-01-11 13:56:58 +03:00
|
|
|
-exclude SecurityInterface \
|
2021-06-11 03:07:20 +03:00
|
|
|
-exclude Virtualization \
|
2021-08-03 19:47:43 +03:00
|
|
|
-i HomeKit/HomeKit.h \
|
2021-01-11 13:56:58 +03:00
|
|
|
|
|
|
|
|
2017-02-21 19:38:07 +03:00
|
|
|
ios-$(IOS_SDK_VERSION).g.cs: $(XIOS_PCH)
|
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_IOS
|
2017-10-26 17:43:45 +03:00
|
|
|
gen-ios: ios-$(IOS_SDK_VERSION).g.cs .stamp-check-sharpie
|
2021-01-12 11:55:23 +03:00
|
|
|
$(SHARPIE) query -bind $(XIOS_PCH) > ios-$(IOS_SDK_VERSION).g.cs
|
2020-09-16 12:41:44 +03:00
|
|
|
else
|
|
|
|
gen-ios: ; @true
|
|
|
|
endif
|
2017-02-21 19:38:07 +03:00
|
|
|
|
|
|
|
tvos-$(TVOS_SDK_VERSION).g.cs: $(XTVOS_PCH)
|
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_TVOS
|
2017-10-26 17:43:45 +03:00
|
|
|
gen-tvos: tvos-$(TVOS_SDK_VERSION).g.cs .stamp-check-sharpie
|
2021-01-12 11:55:23 +03:00
|
|
|
$(SHARPIE) query -bind $(XTVOS_PCH) > tvos-$(TVOS_SDK_VERSION).g.cs
|
2020-09-16 12:41:44 +03:00
|
|
|
else
|
|
|
|
gen-tvos: ; @true
|
|
|
|
endif
|
2017-02-21 19:38:07 +03:00
|
|
|
|
|
|
|
watchos-$(WATCH_SDK_VERSION).g.cs: $(XWATCHOS_PCH)
|
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_WATCH
|
2017-10-26 17:43:45 +03:00
|
|
|
gen-watchos: watchos-$(WATCH_SDK_VERSION).g.cs .stamp-check-sharpie
|
2021-01-12 11:55:23 +03:00
|
|
|
$(SHARPIE) query -bind $(XWATCHOS_PCH) > watchos-$(WATCH_SDK_VERSION).g.cs
|
2020-09-16 12:41:44 +03:00
|
|
|
else
|
|
|
|
gen-watchos: ; @true
|
|
|
|
endif
|
2017-02-21 19:38:07 +03:00
|
|
|
|
2021-11-22 20:48:05 +03:00
|
|
|
macos-$(MACOS_SDK_VERSION).g.cs: $(XMACOS_PCH)
|
2017-02-21 19:38:07 +03:00
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_MAC
|
2021-11-22 20:48:05 +03:00
|
|
|
gen-macos: macos-$(MACOS_SDK_VERSION).g.cs .stamp-check-sharpie
|
|
|
|
$(SHARPIE) query -bind $(XMACOS_PCH) > macos-$(MACOS_SDK_VERSION).g.cs
|
2020-09-16 12:41:44 +03:00
|
|
|
else
|
|
|
|
gen-macos: ; @true
|
|
|
|
endif
|
2017-02-21 19:38:07 +03:00
|
|
|
|
2021-11-19 10:13:43 +03:00
|
|
|
maccatalyst-$(MACCATALYST_SDK_VERSION).g.cs: $(XMACCATALYST_PCH)
|
2021-01-11 13:56:58 +03:00
|
|
|
|
|
|
|
ifdef INCLUDE_MACCATALYST
|
|
|
|
gen-maccatalyst: maccatalyst-$(MACCATALYST_SDK_VERSION).g.cs .stamp-check-sharpie
|
2021-11-19 10:13:43 +03:00
|
|
|
$(SHARPIE) query -bind $(XMACCATALYST_PCH) > maccatalyst-$(MACCATALYST_SDK_VERSION).g.cs
|
2021-01-11 13:56:58 +03:00
|
|
|
else
|
|
|
|
gen-maccatalyst: ; @true
|
|
|
|
endif
|
|
|
|
|
|
|
|
gen-all: gen-ios gen-tvos gen-watchos gen-macos gen-maccatalyst
|
2018-01-25 17:12:41 +03:00
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
wrench:
|
|
|
|
$(MAKE) -j8 classify
|
2018-01-25 17:12:41 +03:00
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
report/index.html: xtro-report/bin/Debug/xtro-report.exe .stamp-classify
|
2018-01-25 17:12:41 +03:00
|
|
|
rm -rf report/
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) xtro-report/bin/Debug/xtro-report.exe $(ANNOTATIONS_DIR) report
|
2018-01-25 17:12:41 +03:00
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
report: report/index.html
|
|
|
|
|
2018-01-25 17:12:41 +03:00
|
|
|
report-short:
|
|
|
|
JENKINS_SERVER_COOKIE=1 make report
|
2017-10-26 17:43:45 +03:00
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_IOS
|
2021-11-23 01:24:25 +03:00
|
|
|
INCLUDED_PLATFORMS+=iOS
|
2021-11-24 17:38:10 +03:00
|
|
|
CLASSIFY+=.stamp-classify-ios
|
|
|
|
.stamp-classify-ios: bin/Debug/xtro-sharpie.exe $(XIOS_PCH) $(XIOS) $(XIOS_GL)
|
|
|
|
rm -f $(ANNOTATIONS_DIR)/iOS-*.raw
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) bin/Debug/xtro-sharpie.exe --output-directory $(ANNOTATIONS_DIR) $(XIOS_PCH) $(XIOS) $(XIOS_GL)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
2020-09-16 12:41:44 +03:00
|
|
|
endif
|
2018-08-03 17:20:00 +03:00
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_TVOS
|
2021-11-23 01:24:25 +03:00
|
|
|
INCLUDED_PLATFORMS+=tvOS
|
2021-11-24 17:38:10 +03:00
|
|
|
CLASSIFY+=.stamp-classify-tvos
|
|
|
|
.stamp-classify-tvos: bin/Debug/xtro-sharpie.exe $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL)
|
|
|
|
rm -f $(ANNOTATIONS_DIR)/tvOS-*.raw
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) bin/Debug/xtro-sharpie.exe --output-directory $(ANNOTATIONS_DIR) $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
2020-09-16 12:41:44 +03:00
|
|
|
endif
|
2018-08-03 17:20:00 +03:00
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_WATCH
|
2021-11-23 01:24:25 +03:00
|
|
|
INCLUDED_PLATFORMS+=watchOS
|
2021-11-24 17:38:10 +03:00
|
|
|
CLASSIFY+=.stamp-classify-watchos
|
|
|
|
.stamp-classify-watchos: bin/Debug/xtro-sharpie.exe $(XWATCHOS_PCH) $(XWATCHOS)
|
|
|
|
rm -f $(ANNOTATIONS_DIR)/watchOS-*.raw
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) bin/Debug/xtro-sharpie.exe --output-directory $(ANNOTATIONS_DIR) $(XWATCHOS_PCH) $(XWATCHOS)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
2020-09-16 12:41:44 +03:00
|
|
|
endif
|
2018-08-03 17:20:00 +03:00
|
|
|
|
2020-09-16 12:41:44 +03:00
|
|
|
ifdef INCLUDE_MAC
|
2021-11-23 01:24:25 +03:00
|
|
|
INCLUDED_PLATFORMS+=macOS
|
2021-11-24 17:38:10 +03:00
|
|
|
CLASSIFY+=.stamp-classify-macos
|
|
|
|
.stamp-classify-macos: bin/Debug/xtro-sharpie.exe $(XMACOS_PCH) $(XMACOS)
|
|
|
|
rm -f $(ANNOTATIONS_DIR)/macOS-*.raw
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) bin/Debug/xtro-sharpie.exe --output-directory $(ANNOTATIONS_DIR) $(XMACOS_PCH) $(XMACOS)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
2020-09-16 12:41:44 +03:00
|
|
|
endif
|
2018-08-03 17:20:00 +03:00
|
|
|
|
2021-01-11 13:56:58 +03:00
|
|
|
ifdef INCLUDE_MACCATALYST
|
2021-11-23 01:24:25 +03:00
|
|
|
INCLUDED_PLATFORMS+=MacCatalyst
|
2021-11-24 17:38:10 +03:00
|
|
|
CLASSIFY+=.stamp-classify-maccatalyst
|
|
|
|
.stamp-classify-maccatalyst: bin/Debug/xtro-sharpie.exe $(XMACCATALYST_PCH) $(XMACCATALYST)
|
|
|
|
rm -f $(ANNOTATIONS_DIR)/MacCatalyst-*.raw
|
2021-11-22 20:50:17 +03:00
|
|
|
$(MONO) bin/Debug/xtro-sharpie.exe --output-directory $(ANNOTATIONS_DIR) $(XMACCATALYST_PCH) $(XMACCATALYST)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
2021-01-11 13:56:58 +03:00
|
|
|
endif
|
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
.stamp-classify: xtro-sanity/bin/Debug/xtro-sanity.exe $(CLASSIFY)
|
2021-11-23 01:24:25 +03:00
|
|
|
$(MONO) xtro-sanity/bin/Debug/xtro-sanity.exe $(abspath $(ANNOTATIONS_DIR)) $(INCLUDED_PLATFORMS)
|
2021-11-24 17:38:10 +03:00
|
|
|
$(Q) touch $@
|
|
|
|
|
|
|
|
classify: .stamp-classify
|
2018-01-25 17:12:41 +03:00
|
|
|
|
|
|
|
insane:
|
|
|
|
XTRO_SANITY_SKIP=1 make all
|
|
|
|
|
2018-04-04 01:02:36 +03:00
|
|
|
remove-empty:
|
|
|
|
find . -size 0 | xargs git rm
|
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
all: report
|
2017-10-26 17:43:45 +03:00
|
|
|
|
|
|
|
.stamp-check-sharpie:
|
|
|
|
@$(TOP)/system-dependencies.sh --ignore-all --enforce-sharpie
|
|
|
|
@touch $@
|
2018-01-25 17:12:41 +03:00
|
|
|
|
2018-07-04 12:14:17 +03:00
|
|
|
remove-empty-files:
|
|
|
|
find . -empty -exec git rm -f {} \;
|
2018-07-31 04:39:56 +03:00
|
|
|
|
2021-11-24 17:38:10 +03:00
|
|
|
U2TODO = u2todo/bin/Debug/u2todo.exe
|
|
|
|
$(U2TODO): $(wildcard u2todo/*.cs u2todo/*.csproj Filter.cs)
|
|
|
|
$(Q) $(SYSTEM_MSBUILD) $(MSBUILD_VERBOSITY) /bl:$@.binlog /r
|
|
|
|
$(Q) touch $@
|
|
|
|
|
|
|
|
unclassified2todo: $(U2TODO)
|
|
|
|
$(MONO) $(U2TODO)
|
2021-07-28 23:18:00 +03:00
|
|
|
@for filename in $(git status -s | cut -c4- | grep .todo); do \
|
|
|
|
sort -o "$filename" "$filename"; \
|
|
|
|
done
|