2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
GENERATOR_SOURCES = \
|
|
|
|
$(TOP)/src/btouch.cs \
|
|
|
|
$(TOP)/src/error.cs \
|
|
|
|
$(TOP)/src/generator.cs \
|
2016-12-23 19:13:55 +03:00
|
|
|
$(TOP)/src/generator-attributes.cs \
|
2017-02-09 03:01:24 +03:00
|
|
|
$(TOP)/src/generator-attribute-manager.cs \
|
2016-04-21 15:30:02 +03:00
|
|
|
$(TOP)/src/generator-enums.cs \
|
|
|
|
$(TOP)/src/generator-filters.cs \
|
2017-02-07 14:15:36 +03:00
|
|
|
$(TOP)/src/generator-typemanager.cs \
|
2016-10-11 20:24:23 +03:00
|
|
|
$(TOP)/src/ObjCRuntime/Stret.cs \
|
2016-12-20 13:33:56 +03:00
|
|
|
$(TOP)/tools/common/TargetFramework.cs \
|
2017-06-06 23:32:25 +03:00
|
|
|
$(TOP)/tools/common/StringUtils.cs \
|
2017-02-13 20:01:16 +03:00
|
|
|
build/generator-frameworks.g.cs \
|
2016-04-21 15:30:02 +03:00
|
|
|
$(MONO_PATH)/mcs/class/Mono.Options/Mono.Options/Options.cs \
|
|
|
|
|
2017-03-02 09:13:10 +03:00
|
|
|
GENERATOR_DEFINES = -d:BGENERATOR -d:NET_4_0
|
2016-10-13 16:10:24 +03:00
|
|
|
|
2017-02-22 20:58:14 +03:00
|
|
|
#
|
|
|
|
# IKVM
|
|
|
|
#
|
|
|
|
|
|
|
|
IKVM_REFLECTION_SOURCES = \
|
|
|
|
$(MONO_PATH)/external/ikvm/reflect/Impl/ITypeOwner.cs \
|
|
|
|
$(MONO_PATH)/external/ikvm/reflect/Impl/SymbolSupport.cs \
|
|
|
|
$(MONO_PATH)/mcs/class/Mono.Security/Mono.Security.Cryptography/CryptoConvert.cs \
|
|
|
|
$(wildcard $(MONO_PATH)/external/ikvm/reflect/*.cs) \
|
|
|
|
$(wildcard $(MONO_PATH)/external/ikvm/reflect/Emit/*.cs) \
|
|
|
|
$(wildcard $(MONO_PATH)/external/ikvm/reflect/Metadata/*.cs) \
|
|
|
|
$(wildcard $(MONO_PATH)/external/ikvm/reflect/Reader/*.cs) \
|
|
|
|
$(wildcard $(MONO_PATH)/external/ikvm/reflect/Writer/*.cs) \
|
|
|
|
|
|
|
|
GENERATOR_ATTRIBUTE_SOURCES = \
|
|
|
|
$(TOP)/src/Foundation/AdviceAttribute.cs \
|
|
|
|
$(TOP)/src/Foundation/ExportAttribute.cs \
|
|
|
|
$(TOP)/src/Foundation/FieldAttribute.cs \
|
|
|
|
$(TOP)/src/Foundation/ModelAttribute.cs \
|
2017-05-25 22:42:25 +03:00
|
|
|
$(TOP)/src/Foundation/NotImplementedAttribute.cs \
|
2017-02-22 20:58:14 +03:00
|
|
|
$(TOP)/src/Foundation/PreserveAttribute.cs \
|
|
|
|
$(TOP)/src/Foundation/ProtocolAttribute.cs \
|
|
|
|
$(TOP)/src/Foundation/RegisterAttribute.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/AlphaAttribute.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/ArgumentSemantic.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/LinkWithAttribute.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/NativeAttribute.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/PlatformAvailability2.cs \
|
|
|
|
$(TOP)/src/ObjCRuntime/Registrar.core.cs \
|
|
|
|
|
|
|
|
IKVM_REFLECTION_FLAGS = -d:NO_AUTHENTICODE,STATIC,NO_SYMBOL_WRITER
|
|
|
|
|
|
|
|
build/common/bgen.exe: $(GENERATOR_SOURCES) $(IKVM_REFLECTION_SOURCES) $(GENERATOR_ATTRIBUTE_SOURCES) Makefile.generator
|
2017-04-11 18:11:35 +03:00
|
|
|
$(Q) mkdir -p build/common
|
|
|
|
$(Q_GEN) $(SYSTEM_CSC) -debug:portable -out:$@ $(IKVM_REFLECTION_FLAGS) $(GENERATOR_DEFINES) $(IKVM_REFLECTION_SOURCES) $(GENERATOR_ATTRIBUTE_SOURCES) $(GENERATOR_SOURCES) -d:IKVM
|
2017-02-22 20:58:14 +03:00
|
|
|
|
2017-02-22 20:58:48 +03:00
|
|
|
# The command-line arguments in the csproj are currently kept up-to-date manually
|
|
|
|
generator-ikvm.csproj: generator-ikvm.csproj.in Makefile.generator
|
|
|
|
@sed \
|
|
|
|
-e 's^<!--%IKVM_FILES%-->^$(foreach file,$(subst /,\\,$(IKVM_REFLECTION_SOURCES)),<Compile Include="$(file)"><Link>ikvm\\$(notdir $(subst \\,/,$(file)))</Link></Compile>)^' \
|
|
|
|
-e 's^<!--%FILES%-->^$(foreach file,$(subst /,\\,$(GENERATOR_SOURCES) $(GENERATOR_ATTRIBUTE_SOURCES)),<Compile Include="$(file)"/>)^' \
|
|
|
|
-e 's^%WORKING_DIR%^$(CURDIR)^' \
|
|
|
|
-e 's^%IOS_CLASSIC_ARGS%^$(IOS_GENERATOR_FLAGS) -core -sourceonly=$(IOS_BUILD_DIR)/compat/generated_sources -compiler=$(IOS_PMCS) -nostdlib -noconfig -no-mono-path -tmpdir=$(IOS_BUILD_DIR)/compat -baselib=$(IOS_BUILD_DIR)/compat/core.dll -r=$(MONO_PATH)/mcs/class/lib/monotouch/System.dll -ns=MonoTouch.ObjCRuntime -native-exception-marshalling --ns=MonoTouch.ObjCRuntime -p $(xi_compat_profile) $(IOS_APIS)^' \
|
|
|
|
-e 's^%IOS_CLASSIC_PMCS_PROFILE%^compat-ios^' \
|
|
|
|
-e 's^%IOS_UNIFIED_ARGS%^$(IOS_GENERATOR_FLAGS) -core -sourceonly=$(IOS_BUILD_DIR)/native/generated_sources -compiler=$(IOS_PMCS) -nostdlib -noconfig -no-mono-path -tmpdir=$(IOS_BUILD_DIR)/native -baselib=$(IOS_BUILD_DIR)/native/core.dll -r=$(MONO_PATH)/mcs/class/lib/monotouch/System.dll -ns=MonoTouch.ObjCRuntime -native-exception-marshalling --ns=ObjCRuntime $(xi_native_profile) $(IOS_APIS)^' \
|
|
|
|
-e 's^%IOS_UNIFIED_PMCS_PROFILE%^native^' \
|
2017-03-29 20:02:03 +03:00
|
|
|
-e 's^%TVOS_ARGS%^-inline-selectors -process-enums -warnaserror:$(TVOS_GENERATOR_WARNASERROR) -core -sourceonly=$(TVOS_BUILD_DIR)/tvos/generated_sources -compiler=$(TVOS_PMCS) -nostdlib -noconfig -no-mono-path -tmpdir=$(TVOS_BUILD_DIR)/tvos -baselib=$(TVOS_BUILD_DIR)/tvos/core.dll -r=$(MONO_PATH)/mcs/class/lib/monotouch_tv/System.dll -ns=MonoTouch.ObjCRuntime -native-exception-marshalling -d:TVOS --ns:ObjCRuntime $(TVOS_APIS) --target-framework=Xamarin.TVOS,v1.0^' \
|
2017-02-22 20:58:48 +03:00
|
|
|
-e 's^%TVOS_PMCS_PROFILE%^tvos^' \
|
2017-03-29 20:02:03 +03:00
|
|
|
-e 's^%WATCHOS_ARGS%^-inline-selectors -process-enums -warnaserror:$(WATCH_GENERATOR_WARNASERROR) -core -sourceonly=$(WATCH_BUILD_DIR)/watch/generated_sources -compiler=$(WATCH_PMCS) -nostdlib -noconfig -no-mono-path -tmpdir=$(WATCH_BUILD_DIR)/watch -baselib=$(WATCH_BUILD_DIR)/watch/core.dll -r=$(WATCH_MONO_PATH)/mcs/class/lib/monotouch_watch/System.dll -ns=MonoTouch.ObjCRuntime -native-exception-marshalling -d:WATCH --ns:ObjCRuntime $(WATCHOS_APIS) --target-framework=Xamarin.WatchOS,v1.0^' \
|
2017-02-22 20:58:48 +03:00
|
|
|
-e 's^%WATCHOS_PMCS_PROFILE%^watch^' \
|
2017-03-29 20:02:03 +03:00
|
|
|
-e 's^%MAC_CLASSIC_ARGS%^-d:MONOMAC -d:XAMARIN_MAC -compiler:$(MAC_BUILD_DIR)/compat/pmcs -process-enums -warnaserror:$(MAC_GENERATOR_WARNASERROR) -native-exception-marshalling -core -sourceonly:$(MAC_BUILD_DIR)/compat/generated-sources -tmpdir:$(MAC_BUILD_DIR)/compat -baselib:$(MAC_BUILD_DIR)/compat/core.dll -d:NO_SYSTEM_DRAWING --ns=MonoMac.ObjCRuntime -r:/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/System.Drawing.dll $(xm_compat_profile) $(MAC_APIS)^' \
|
2017-02-22 20:58:48 +03:00
|
|
|
-e 's^%MAC_CLASSIC_PMCS_PROFILE%^compat-mac^' \
|
2017-03-29 20:02:03 +03:00
|
|
|
-e 's^%MAC_FULL_ARGS%^-d:MONOMAC -d:XAMARIN_MAC -compiler:$(MAC_BUILD_DIR)/full/pmcs -process-enums -warnaserror:$(MAC_GENERATOR_WARNASERROR) -native-exception-marshalling -core -sourceonly:$(MAC_BUILD_DIR)/full/generated-sources -tmpdir:$(MAC_BUILD_DIR)/full -baselib:$(MAC_BUILD_DIR)/full/core.dll -d:NO_SYSTEM_DRAWING --ns=ObjCRuntime -d:NO_SYSTEM_DRAWING $(xm_full_profile) $(MAC_APIS)^' \
|
2017-02-22 20:58:48 +03:00
|
|
|
-e 's^%MAC_FULL_PMCS_PROFILE%^full^' \
|
2017-03-29 20:02:03 +03:00
|
|
|
-e 's^%MAC_MOBILE_ARGS%^-d:MONOMAC -d:XAMARIN_MAC -compiler:$(MAC_BUILD_DIR)/mobile/pmcs -process-enums -warnaserror:$(MAC_GENERATOR_WARNASERROR) -native-exception-marshalling -core -sourceonly:$(MAC_BUILD_DIR)/mobile/generated-sources -tmpdir:$(MAC_BUILD_DIR)/mobile -baselib:$(MAC_BUILD_DIR)/mobile/core.dll -d:NO_SYSTEM_DRAWING --ns=ObjCRuntime $(SHARED_SYSTEM_DRAWING_SOURCES) $(xm_mobile_profile) $(MAC_APIS)^' \
|
2017-02-22 20:58:48 +03:00
|
|
|
-e 's^%MAC_MOBILE_PMCS_PROFILE%^mobile^' \
|
|
|
|
-e 's^%MD_MTOUCH_SDK_ROOT%^$(MD_MTOUCH_SDK_ROOT)^' \
|
|
|
|
-e 's^%XamarinMacFrameworkRoot%^$(XamarinMacFrameworkRoot)^' \
|
|
|
|
$< | xmllint --format - > $@
|
|
|
|
|
2017-03-23 16:25:37 +03:00
|
|
|
ifdef IKVM
|
|
|
|
PROJECT_FILES += generator-ikvm.csproj
|
|
|
|
endif
|
|
|
|
|
2017-02-13 20:01:16 +03:00
|
|
|
#
|
|
|
|
# Common
|
|
|
|
#
|
|
|
|
|
|
|
|
build/generator-frameworks.g.cs: frameworks.sources Makefile.generator generate-frameworks.csharp
|
2017-02-22 20:58:14 +03:00
|
|
|
@mkdir -p $(dir $@)
|
2017-02-13 20:01:16 +03:00
|
|
|
@./generate-frameworks.csharp '$(IOS_FRAMEWORKS)' '$(MAC_FRAMEWORKS)' '$(WATCHOS_FRAMEWORKS)' '$(TVOS_FRAMEWORKS)' > $@
|
|
|
|
|
2016-04-21 15:30:02 +03:00
|
|
|
#
|
|
|
|
# Xamarin.iOS (btouch)
|
|
|
|
#
|
|
|
|
|
|
|
|
IOS_TARGETS_DIRS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btouch \
|
2017-03-06 19:22:08 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen \
|
2016-04-21 15:30:02 +03:00
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifdef IKVM
|
|
|
|
IOS_TARGETS += \
|
2017-03-23 16:25:37 +03:00
|
|
|
generator-ikvm.csproj \
|
2017-03-06 19:25:34 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/monotouch.BindingAttributes.dll \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/Xamarin.iOS.BindingAttributes.dll \
|
2017-03-06 19:22:08 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bgen \
|
|
|
|
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
IOS_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btouch/btouch.exe \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btouch/btouch-native.exe \
|
2017-03-06 19:22:08 +03:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
IOS_TARGETS += \
|
2016-04-21 15:30:02 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch-native \
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bgen: | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe) \"\$$@\"\n" > $@
|
|
|
|
$(Q) chmod +x $@
|
|
|
|
|
|
|
|
ifdef IKVM
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch: | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe) --target-framework=MonoTouch,v1.0 \"\$$@\" \n" > $@
|
|
|
|
$(Q) chmod +x $@
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch-native: | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe) --target-framework=Xamarin.iOS,v1.0 \"\$$@\"\n" > $@
|
|
|
|
$(Q) chmod +x $@
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/%: %.in | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
$(Q_GEN) sed 's!@MONOTOUCH_PREFIX@!$(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX))!g' $*.in > $@
|
|
|
|
$(Q) chmod +x $@
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
2016-04-21 15:30:02 +03:00
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifndef IKVM
|
2016-04-21 15:30:02 +03:00
|
|
|
$(IOS_BUILD_DIR)/btouch.exe: $(IOS_BUILD_DIR)/compat/monotouch.dll $(GENERATOR_SOURCES) Makefile.generator
|
2017-04-18 18:13:40 +03:00
|
|
|
$(call Q_PROF_PMCS,ios/compat) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/compat-ios" -compiler:$(IOS_MCS) -global-replace:"^XamCore=MonoTouch" -debug $(GENERATOR_DEFINES) -out:$@ $(GENERATOR_SOURCES) -r:$<
|
2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
$(IOS_BUILD_DIR)/btouch-native.exe: $(IOS_BUILD_DIR)/reference/Xamarin.iOS.dll $(GENERATOR_SOURCES) Makefile.generator
|
2017-04-18 18:13:40 +03:00
|
|
|
$(call Q_PROF_PMCS,ios/native) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/native" -compiler:$(IOS_MCS) -global-replace:"^XamCore.=" -debug $(GENERATOR_DEFINES) -out:$@ $(GENERATOR_SOURCES) -r:$<
|
2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btouch/%.exe: $(IOS_BUILD_DIR)/%.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btouch
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/%.dll: $(IOS_BUILD_DIR)/native/%.dll | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe: build/common/bgen.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
2017-04-12 18:42:17 +03:00
|
|
|
$(Q) install -m 0644 $< $(@:.exe=.pdb)
|
2016-04-21 15:30:02 +03:00
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
$(IOS_BUILD_DIR)/native/Xamarin.iOS.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
2017-04-18 18:13:40 +03:00
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/native" -compiler:$(IOS_MCS) -global-replace:"^XamCore.=" -out:$@ -debug generator-attributes.cs -target:library
|
2017-03-06 19:25:34 +03:00
|
|
|
|
|
|
|
$(IOS_BUILD_DIR)/native/monotouch.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
2017-04-18 18:13:40 +03:00
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/compat-ios" -compiler:$(IOS_MCS) -global-replace:"^XamCore.=MonoTouch." -out:$@ -debug generator-attributes.cs -target:library
|
2017-03-06 19:25:34 +03:00
|
|
|
|
2016-04-21 15:30:02 +03:00
|
|
|
#
|
|
|
|
# Xamarin.Watch (bwatch)
|
|
|
|
#
|
|
|
|
|
|
|
|
WATCH_TARGETS_DIRS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bwatch \
|
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
ifdef IKVM
|
|
|
|
WATCH_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/Xamarin.WatchOS.BindingAttributes.dll \
|
|
|
|
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
WATCH_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bwatch/bwatch.exe \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bwatch \
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
|
|
|
|
|
|
|
WATCH_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bwatch \
|
|
|
|
|
2016-04-21 15:30:02 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/bwatch: Makefile.generator
|
2017-03-06 19:22:08 +03:00
|
|
|
ifdef IKVM
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe) --target-framework=Xamarin.WatchOS,v1.0 \"\$$@\"\n" > $@
|
|
|
|
else
|
2017-02-17 22:53:58 +03:00
|
|
|
$(Q_GEN) printf '#!/bin/sh\nMONO_PATH=$(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.WatchOS/repl:$(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.WatchOS $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/bin/bwatch-mono --debug $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bwatch/bwatch.exe --target-framework=Xamarin.WatchOS,v1.0 "$$@"' > $@
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
2016-04-21 15:30:02 +03:00
|
|
|
$(Q) chmod +x $@
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifndef IKVM
|
2016-04-21 15:30:02 +03:00
|
|
|
$(WATCH_BUILD_DIR)/bwatch.exe: $(WATCH_BUILD_DIR)/watch-32/Xamarin.WatchOS.dll $(GENERATOR_SOURCES) Makefile.generator
|
2017-02-21 23:54:26 +03:00
|
|
|
$(call Q_PROF_PMCS,watch) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/watch" -compiler:$(SYSTEM_MCS) -nostdlib -r:mscorlib -lib:$(WATCH_LIBDIR)/repl -global-replace:"^XamCore.=" -debug $(GENERATOR_DEFINES) -out:$@ $(GENERATOR_SOURCES) -r:$<
|
2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bwatch/%.exe: $(WATCH_BUILD_DIR)/%.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bwatch
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
else
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/%.dll: $(WATCH_BUILD_DIR)/%.dll | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
|
|
|
$(WATCH_BUILD_DIR)/Xamarin.WatchOS.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/watch" -compiler:$(SYSTEM_MCS) -global-replace:"^XamCore.=" -out:$@ -debug generator-attributes.cs -target:library
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
|
|
|
|
2016-04-21 15:30:02 +03:00
|
|
|
# #
|
|
|
|
# # Xamarin.TVOS (btv)
|
|
|
|
# #
|
|
|
|
|
|
|
|
TVOS_TARGETS_DIRS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btv \
|
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
ifdef IKVM
|
|
|
|
TVOS_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/Xamarin.TVOS.BindingAttributes.dll \
|
|
|
|
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
TVOS_TARGETS += \
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btv/btv.exe \
|
2017-03-06 19:22:08 +03:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
TVOS_TARGETS += \
|
2016-04-21 15:30:02 +03:00
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btv \
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btv: Makefile.generator
|
2017-03-06 19:22:08 +03:00
|
|
|
ifdef IKVM
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/bgen/bgen.exe) --target-framework=Xamarin.TVOS,v1.0 \"\$$@\"\n" > $@
|
|
|
|
else
|
2017-02-17 22:53:58 +03:00
|
|
|
$(Q_GEN) printf '#!/bin/sh\nMONO_PATH=$(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.TVOS/repl:$(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.TVOS $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/bin/btv-mono --debug $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX)/lib/btv/btv.exe --target-framework=Xamarin.TVOS,v1.0 "$$@"' > $@
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
2016-04-21 15:30:02 +03:00
|
|
|
$(Q) chmod +x $@
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifndef IKVM
|
2016-04-21 15:30:02 +03:00
|
|
|
$(TVOS_BUILD_DIR)/btv.exe: $(TVOS_BUILD_DIR)/tvos-64/Xamarin.TVOS.dll $(GENERATOR_SOURCES) Makefile.generator
|
2017-02-21 23:54:26 +03:00
|
|
|
$(call Q_PROF_PMCS,tvos) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/tvos" -compiler:$(SYSTEM_MCS) -nostdlib -r:mscorlib.dll -lib:$(TVOS_LIBDIR)/repl -global-replace:"^XamCore.=" -debug $(GENERATOR_DEFINES) -out:$@ $(GENERATOR_SOURCES) -r:$<
|
2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btv/%.exe: $(TVOS_BUILD_DIR)/%.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btv
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
2017-03-06 19:25:34 +03:00
|
|
|
else
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/%.dll: $(TVOS_BUILD_DIR)/%.dll | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
|
|
|
$(TVOS_BUILD_DIR)/Xamarin.TVOS.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/tvos" -compiler:$(SYSTEM_MCS) -global-replace:"^XamCore.=" -out:$@ -debug generator-attributes.cs -target:library
|
|
|
|
endif
|
|
|
|
|
2016-04-21 15:30:02 +03:00
|
|
|
#
|
|
|
|
# Xamarin.Mac (bmac)
|
|
|
|
#
|
|
|
|
|
|
|
|
MAC_TARGETS_DIRS += \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac \
|
2017-03-06 19:22:08 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen \
|
2016-04-21 15:30:02 +03:00
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifdef IKVM
|
|
|
|
MAC_TARGETS += \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bgen \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/bgen.exe \
|
2017-03-06 19:25:34 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/XamMac.BindingAttributes.dll \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/Xamarin.Mac-full.BindingAttributes.dll \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/Xamarin.Mac-mobile.BindingAttributes.dll \
|
2017-03-06 19:22:08 +03:00
|
|
|
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
MAC_TARGETS += \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac/bmac-full.exe \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac/bmac-mobile.exe \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac/bmac-compat.exe \
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
|
|
|
|
|
|
|
MAC_TARGETS += \
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bmac \
|
|
|
|
|
|
|
|
ifdef IKVM
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bgen: | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin
|
|
|
|
$(Q_GEN) printf "#!/bin/sh -e\n\nexec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono64 --debug $(abspath $(MAC_TARGETDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/bgen.exe) \"\$$@\"\n" > $@
|
|
|
|
$(Q) chmod +x $@
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
$(MAC_BUILD_DIR)/bmac-%.exe: $(MAC_BUILD_DIR)/%-32/Xamarin.Mac.dll $(GENERATOR_SOURCES) $(SN_KEY) Makefile.generator
|
2017-02-21 23:54:26 +03:00
|
|
|
$(call Q_PROF_PMCS,mac/full) PMCS_PROFILE=$* $(MAC_BUILD_DIR)/$*/pmcs -out:$@ -debug $(GENERATOR_DEFINES) -unsafe -keyfile:$(SN_KEY) -r:$< $(GENERATOR_SOURCES)
|
2016-04-21 15:30:02 +03:00
|
|
|
|
|
|
|
$(MAC_BUILD_DIR)/bmac-compat.exe: $(MAC_BUILD_DIR)/compat/XamMac.dll $(GENERATOR_SOURCES) $(SN_KEY) Makefile.generator
|
2017-02-21 23:54:26 +03:00
|
|
|
$(call Q_PROF_PMCS,mac/compat) PMCS_PROFILE=compat-mac $(MAC_BUILD_DIR)/compat/pmcs -out:$@ -debug $(GENERATOR_DEFINES) -unsafe -keyfile:$(SN_KEY) -r:$< $(GENERATOR_SOURCES) -r:System.Drawing
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
2016-04-21 15:30:02 +03:00
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifdef IKVM
|
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bmac: bmac.ikvm | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin
|
|
|
|
else
|
2016-04-21 15:30:02 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bmac: bmac | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|
2016-04-21 15:30:02 +03:00
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
ifndef IKVM
|
2016-04-21 15:30:02 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac/%.exe: $(MAC_BUILD_DIR)/%.exe | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bmac
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
2017-03-06 19:22:08 +03:00
|
|
|
else
|
2017-03-06 19:25:34 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/%.dll: $(MAC_BUILD_DIR)/%.dll | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
|
|
|
$(Q) install -m 0644 $<.mdb $@.mdb
|
|
|
|
|
2017-03-06 19:22:08 +03:00
|
|
|
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/%.exe: build/common/bgen.exe | $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen
|
|
|
|
$(Q) install -m 0755 $< $@
|
2017-04-12 18:42:17 +03:00
|
|
|
$(Q) install -m 0644 $< $(@:.exe=.pdb)
|
2017-03-06 19:25:34 +03:00
|
|
|
|
|
|
|
$(MAC_BUILD_DIR)/XamMac.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/compat-mac" -compiler:$(SYSTEM_MCS) -global-replace:"^XamCore.=MonoMac." -out:$@ -debug generator-attributes.cs -target:library
|
|
|
|
|
|
|
|
$(MAC_BUILD_DIR)/Xamarin.Mac-%.BindingAttributes.dll: generator-attributes.cs Makefile.generator $(PMCS_EXE)
|
|
|
|
$(Q) mkdir -p $(dir $@)
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(PMCS_EXE) -profile:"$(TOP)/src/pmcs-profiles/$*" -compiler:$(SYSTEM_MCS) -global-replace:"^XamCore.=" -out:$@ -debug generator-attributes.cs -target:library
|
2017-03-06 19:22:08 +03:00
|
|
|
endif
|