3 include ../../build/rules.make
9 LIB_REFS = $(XBUILD_FRAMEWORK) $(XBUILD_UTILITIES) $(XBUILD_ENGINE) $(XBUILD_MSTASKS) $(PARENT_PROFILE)System $(PARENT_PROFILE)System.Core
12 include ../../build/executable.make
15 include $(XBUILD_DIR)/xbuild_test.make
17 install-local: install-extras
19 PORTABLE_TARGETS_SRC:=data/Portable/Targets
20 PCL5_FX_SRC:=data/Portable/Frameworks/v5.0
21 DENIED_ASSEMBLY_LIST_SRC=data/deniedAssembliesList.txt
23 NETFRAMEWORK_DIR=$(mono_libdir)/mono/xbuild-frameworks/.NETFramework
24 PCL5_FX_DIR=$(mono_libdir)/mono/xbuild-frameworks/.NETPortable/v5.0
25 VS_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/VisualStudio
26 PORTABLE_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/Portable
27 NUGET_BUILDTASKS_TARGETS_DIR = $(mono_libdir)/mono/xbuild/Microsoft/NuGet
29 ifeq (14.0, $(XBUILD_VERSION))
30 install-extras: install-versioned-files install-global-files
32 install-extras: install-versioned-files
35 #install files into xbuild's versioned locations
36 install-versioned-files: install-bin-data install-nuget-imports
38 #install files that are only installed once across all xbuild versions
39 install-global-files: install-frameworks install-web-targets install-pcl-targets install-pcl5-framework install-nuget-targets install-msbuild-specific-files
42 $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/MSBuild
43 $(INSTALL_DATA) data/xbuild.rsp $(DESTDIR)$(XBUILD_BIN_DIR)
44 $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.tasks $(DESTDIR)$(XBUILD_BIN_DIR)
45 $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.targets $(DESTDIR)$(XBUILD_BIN_DIR)
46 ifeq (14.0, $(XBUILD_VERSION))
47 $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.Common.props $(DESTDIR)$(XBUILD_BIN_DIR)/../
49 $(INSTALL_DATA) data/$(XBUILD_VERSION)/Microsoft.CSharp.targets $(DESTDIR)$(XBUILD_BIN_DIR)
50 $(INSTALL_DATA) data/Microsoft.Build.xsd $(DESTDIR)$(XBUILD_BIN_DIR)
51 $(INSTALL_DATA) data/Microsoft.VisualBasic.targets $(DESTDIR)$(XBUILD_BIN_DIR)
52 $(INSTALL_DATA) data/MSBuild/Microsoft.Build.CommonTypes.xsd $(DESTDIR)$(XBUILD_BIN_DIR)/MSBuild
53 $(INSTALL_DATA) data/MSBuild/Microsoft.Build.Core.xsd $(DESTDIR)$(XBUILD_BIN_DIR)/MSBuild
54 sed -e 's/@ASM_VERSION@/$(XBUILD_ASSEMBLY_VERSION)/g' data/xbuild.exe.config.in > $(DESTDIR)$(XBUILD_BIN_DIR)/xbuild.exe.config
57 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v$(FRAMEWORK_VERSION)/RedistList
58 $(INSTALL_DATA) frameworks/net_$(FRAMEWORK_VERSION).xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v$(FRAMEWORK_VERSION)/RedistList/FrameworkList.xml
59 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v2.0/RedistList
60 $(INSTALL_DATA) frameworks/net_2.0.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v2.0/RedistList/FrameworkList.xml
61 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v3.0/RedistList
62 $(INSTALL_DATA) frameworks/net_3.0.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v3.0/RedistList/FrameworkList.xml
63 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v3.5/RedistList
64 $(INSTALL_DATA) frameworks/net_3.5.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v3.5/RedistList/FrameworkList.xml
65 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/RedistList
66 $(INSTALL_DATA) frameworks/net_4.0.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/RedistList/FrameworkList.xml
67 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/Profile/Client/RedistList
68 $(INSTALL_DATA) frameworks/net_4.0_client.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/Profile/Client/RedistList/FrameworkList.xml
69 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList
70 $(INSTALL_DATA) frameworks/net_4.5.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList/FrameworkList.xml
71 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.2/RedistList
72 $(INSTALL_DATA) frameworks/net_4.5.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.2/RedistList/FrameworkList.xml
73 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6/RedistList
74 $(INSTALL_DATA) frameworks/net_4.6.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6/RedistList/FrameworkList.xml
75 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.1/RedistList
76 $(INSTALL_DATA) frameworks/net_4.6.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.1/RedistList/FrameworkList.xml
77 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList
78 $(INSTALL_DATA) frameworks/net_4.6.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList/FrameworkList.xml
79 $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList
80 $(INSTALL_DATA) frameworks/net_4.7.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList/FrameworkList.xml
83 $(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)
84 $(INSTALL_DATA) $(PORTABLE_TARGETS_SRC)/Microsoft.Portable.Core.props $(DESTDIR)$(PORTABLE_TARGETS_DIR)/Microsoft.Portable.Core.props
85 $(INSTALL_DATA) $(PORTABLE_TARGETS_SRC)/Microsoft.Portable.Core.targets $(DESTDIR)$(PORTABLE_TARGETS_DIR)/Microsoft.Portable.Core.targets
87 for VERSION in v4.0 v4.5 v4.6 v5.0; do \
88 $(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)/$$VERSION; \
89 $(INSTALL_DATA) $(PORTABLE_TARGETS_SRC)/$$VERSION/Microsoft.Portable.Common.targets $(DESTDIR)$(PORTABLE_TARGETS_DIR)/$$VERSION/Microsoft.Portable.Common.targets; \
90 $(INSTALL_DATA) $(PORTABLE_TARGETS_SRC)/$$VERSION/Microsoft.Portable.CSharp.targets $(DESTDIR)$(PORTABLE_TARGETS_DIR)/$$VERSION/Microsoft.Portable.CSharp.targets; \
91 $(INSTALL_DATA) $(PORTABLE_TARGETS_SRC)/$$VERSION/Microsoft.Portable.VisualBasic.targets $(DESTDIR)$(PORTABLE_TARGETS_DIR)/$$VERSION/Microsoft.Portable.VisualBasic.targets; \
95 for VERSION in v9.0 v10.0 v11.0 v12.0 v14.0 v15.0; do \
96 $(MKINSTALLDIRS) $(DESTDIR)$(VS_TARGETS_DIR)/$$VERSION/WebApplications; \
97 $(INSTALL_DATA) targets/Microsoft.WebApplication.targets $(DESTDIR)$(VS_TARGETS_DIR)/$$VERSION/WebApplications; \
100 NUGET_BUILDTASKS_REPO_DIR=$(topdir)/../external/nuget-buildtasks
102 install-nuget-targets:
103 $(MKINSTALLDIRS) $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR)
104 $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR)
105 $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.props $(DESTDIR)$(NUGET_BUILDTASKS_TARGETS_DIR)
107 install-nuget-imports:
108 ifeq (14.0, $(XBUILD_VERSION))
109 $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/../Imports/Microsoft.Common.props/ImportBefore
110 $(MKINSTALLDIRS) $(DESTDIR)$(XBUILD_BIN_DIR)/../Microsoft.Common.targets/ImportAfter
111 $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props $(DESTDIR)$(XBUILD_BIN_DIR)/../Imports/Microsoft.Common.props/ImportBefore
112 $(INSTALL_DATA) $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets $(DESTDIR)$(XBUILD_BIN_DIR)/../Microsoft.Common.targets/ImportAfter
115 # The .NETPortable,Version=v5.0 framework contains no assemblies, and essentially just fills the requirement
116 # for a framework moniker. When using it, assemblies are provided by NuGet packages such as .NETStandard.Library
117 install-pcl5-framework:
118 $(MKINSTALLDIRS) $(DESTDIR)$(PCL5_FX_DIR)/RedistList
119 $(INSTALL_DATA) $(PCL5_FX_SRC)/FrameworkList.xml $(DESTDIR)$(PCL5_FX_DIR)/RedistList/FrameworkList.xml
121 $(MKINSTALLDIRS) $(DESTDIR)$(PCL5_FX_DIR)/SupportedFrameworks
122 $(INSTALL_DATA) "$(PCL5_FX_SRC)/.NET Framework 4.6.xml" "$(DESTDIR)$(PCL5_FX_DIR)/SupportedFrameworks/.NET Framework 4.6.xml"
123 $(INSTALL_DATA) "$(PCL5_FX_SRC)/ASP.NET Core 1.0.xml" "$(DESTDIR)$(PCL5_FX_DIR)/SupportedFrameworks/ASP.NET Core 1.0.xml"
124 $(INSTALL_DATA) "$(PCL5_FX_SRC)/Windows Universal 10.0.xml" "$(DESTDIR)$(PCL5_FX_DIR)/SupportedFrameworks/Windows Universal 10.0.xml"
126 install-msbuild-specific-files:
127 $(MKINSTALLDIRS) $(DESTDIR)$(mono_libdir)/mono/xbuild
128 $(INSTALL_DATA) $(DENIED_ASSEMBLY_LIST_SRC) $(DESTDIR)$(mono_libdir)/mono/xbuild
132 data/xbuild.exe.config.in \
133 data/xbuild.exe.config_test.in \
134 data/Microsoft.Build.xsd \
135 data/2.0/Microsoft.Common.tasks \
136 data/3.5/Microsoft.Common.tasks \
137 data/4.0/Microsoft.Common.tasks \
138 data/12.0/Microsoft.Common.tasks \
139 data/14.0/Microsoft.Common.tasks \
140 data/2.0/Microsoft.Common.targets \
141 data/3.5/Microsoft.Common.targets \
142 data/4.0/Microsoft.Common.targets \
143 data/12.0/Microsoft.Common.targets \
144 data/14.0/Microsoft.Common.targets \
145 data/14.0/Microsoft.Common.props \
146 data/2.0/Microsoft.CSharp.targets \
147 data/3.5/Microsoft.CSharp.targets \
148 data/4.0/Microsoft.CSharp.targets \
149 data/12.0/Microsoft.CSharp.targets \
150 data/14.0/Microsoft.CSharp.targets \
151 data/Microsoft.VisualBasic.targets \
152 data/MSBuild/Microsoft.Build.CommonTypes.xsd \
153 data/MSBuild/Microsoft.Build.Core.xsd \
154 data/Portable/Targets/Microsoft.Portable.Core.props \
155 data/Portable/Targets/Microsoft.Portable.Core.targets \
156 data/Portable/Targets/v4.0/Microsoft.Portable.Common.targets \
157 data/Portable/Targets/v4.0/Microsoft.Portable.CSharp.targets \
158 data/Portable/Targets/v4.0/Microsoft.Portable.VisualBasic.targets \
159 data/Portable/Targets/v4.5/Microsoft.Portable.Common.targets \
160 data/Portable/Targets/v4.5/Microsoft.Portable.CSharp.targets \
161 data/Portable/Targets/v4.5/Microsoft.Portable.VisualBasic.targets \
162 data/Portable/Targets/v4.6/Microsoft.Portable.Common.targets \
163 data/Portable/Targets/v4.6/Microsoft.Portable.CSharp.targets \
164 data/Portable/Targets/v4.6/Microsoft.Portable.VisualBasic.targets \
165 data/Portable/Targets/v5.0/Microsoft.Portable.Common.targets \
166 data/Portable/Targets/v5.0/Microsoft.Portable.CSharp.targets \
167 data/Portable/Targets/v5.0/Microsoft.Portable.VisualBasic.targets \
168 "data/Portable/Frameworks/v5.0/.NET Framework 4.6.xml" \
169 "data/Portable/Frameworks/v5.0/ASP.NET Core 1.0.xml" \
170 "data/Portable/Frameworks/v5.0/FrameworkList.xml" \
171 "data/Portable/Frameworks/v5.0/Windows Universal 10.0.xml" \
172 data/deniedAssembliesList.txt \
173 frameworks/net_2.0.xml \
174 frameworks/net_3.0.xml \
175 frameworks/net_3.5.xml \
176 frameworks/net_4.0.xml \
177 frameworks/net_4.0_client.xml \
178 frameworks/net_4.5.xml \
179 frameworks/net_4.5.1.xml \
180 frameworks/net_4.5.2.xml \
181 frameworks/net_4.6.xml \
182 frameworks/net_4.6.1.xml \
183 frameworks/net_4.6.2.xml \
184 frameworks/net_4.7.xml \
185 targets/Microsoft.WebApplication.targets \
186 $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props \
187 $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets \
188 $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets \
189 $(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.props \