xamarin-macios/src/Makefile.generator

324 строки
19 KiB
Makefile
Исходник Обычный вид История

2016-04-21 15:30:02 +03:00
GENERATOR_SOURCES = \
$(TOP)/src/btouch.cs \
$(TOP)/src/error.cs \
$(TOP)/src/generator.cs \
$(TOP)/src/generator-attributes.cs \
$(TOP)/src/generator-attribute-manager.cs \
2016-04-21 15:30:02 +03:00
$(TOP)/src/generator-enums.cs \
$(TOP)/src/generator-filters.cs \
$(TOP)/src/generator-typemanager.cs \
$(TOP)/src/ObjCRuntime/Stret.cs \
$(TOP)/tools/common/TargetFramework.cs \
$(TOP)/tools/common/StringUtils.cs \
build/generator-frameworks.g.cs \
2016-04-21 15:30:02 +03:00
$(MONO_PATH)/mcs/class/Mono.Options/Mono.Options/Options.cs \
GENERATOR_DEFINES = -d:BGENERATOR -d:NET_4_0
#
# 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 \
$(TOP)/src/Foundation/NotImplementedAttribute.cs \
$(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
# 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^' \
-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^' \
-e 's^%TVOS_PMCS_PROFILE%^tvos^' \
-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^' \
-e 's^%WATCHOS_PMCS_PROFILE%^watch^' \
-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)^' \
-e 's^%MAC_CLASSIC_PMCS_PROFILE%^compat-mac^' \
-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)^' \
-e 's^%MAC_FULL_PMCS_PROFILE%^full^' \
-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)^' \
-e 's^%MAC_MOBILE_PMCS_PROFILE%^mobile^' \
-e 's^%MD_MTOUCH_SDK_ROOT%^$(MD_MTOUCH_SDK_ROOT)^' \
-e 's^%XamarinMacFrameworkRoot%^$(XamarinMacFrameworkRoot)^' \
$< | xmllint --format - > $@
ifdef IKVM
PROJECT_FILES += generator-ikvm.csproj
endif
#
# Common
#
build/generator-frameworks.g.cs: frameworks.sources Makefile.generator generate-frameworks.csharp
@mkdir -p $(dir $@)
@./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 \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen \
2016-04-21 15:30:02 +03:00
ifdef IKVM
IOS_TARGETS += \
generator-ikvm.csproj \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/monotouch.BindingAttributes.dll \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bgen/Xamarin.iOS.BindingAttributes.dll \
$(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 \
endif
IOS_TARGETS += \
2016-04-21 15:30:02 +03:00
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/btouch-native \
$(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 $@
endif
2016-04-21 15:30:02 +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
$(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
$(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
endif
$(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
$(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
$(IOS_BUILD_DIR)/native/Xamarin.iOS.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/native" -compiler:$(IOS_MCS) -global-replace:"^XamCore.=" -out:$@ -debug generator-attributes.cs -target:library
$(IOS_BUILD_DIR)/native/monotouch.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-ios" -compiler:$(IOS_MCS) -global-replace:"^XamCore.=MonoTouch." -out:$@ -debug generator-attributes.cs -target:library
2016-04-21 15:30:02 +03:00
#
# Xamarin.Watch (bwatch)
#
WATCH_TARGETS_DIRS += \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/bwatch \
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 \
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
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
$(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 "$$@"' > $@
endif
2016-04-21 15:30:02 +03:00
$(Q) chmod +x $@
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
$(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
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
endif
2016-04-21 15:30:02 +03:00
# #
# # Xamarin.TVOS (btv)
# #
TVOS_TARGETS_DIRS += \
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/btv \
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 \
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
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
$(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 "$$@"' > $@
endif
2016-04-21 15:30:02 +03:00
$(Q) chmod +x $@
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
$(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
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 \
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen \
2016-04-21 15:30:02 +03:00
ifdef IKVM
MAC_TARGETS += \
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/bin/bgen \
$(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR)/lib/bgen/bgen.exe \
$(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 \
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 \
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
$(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
$(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
endif
2016-04-21 15:30:02 +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
endif
2016-04-21 15:30:02 +03:00
$(Q) install -m 0755 $< $@
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
else
$(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
$(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)
$(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
endif