2020-05-13 16:23:29 +03:00
TOP = ..
i n c l u d e $( TOP ) / M a k e . c o n f i g
i n c l u d e $( TOP ) / m k / r u l e s . m k
2020-10-15 12:38:29 +03:00
DOTNET_MANIFESTS_PATH = $( DOTNET5_DIR) /sdk-manifests/$( DOTNET5_VERSION_BAND)
2020-10-15 12:39:20 +03:00
DOTNET_PACKS_PATH = $( DOTNET5_DIR) /packs
2020-10-15 12:45:36 +03:00
TMP_PKG_DIR = _pkg
2020-10-15 12:38:29 +03:00
2020-10-15 12:35:03 +03:00
# Create variables prefixed with the correctly cased platform name from the upper-cased platform name. This makes some of the next sections somewhat simpler.
$(foreach platform,$(DOTNET_PLATFORMS),$(eval $(platform)_NUGET_VERSION_NO_METADATA : =$( $ ( shell echo $ ( platform ) | tr a -z A -Z ) _NUGET_VERSION_NO_METADATA ) ))
2020-06-04 17:39:19 +03:00
d e f i n e D e f i n e T a r g e t s
$(1)_NUGET_TARGETS = \
2020-10-15 12:46:16 +03:00
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/Sdk/AutoImport.props \
2020-06-04 17:39:19 +03:00
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/Sdk/Sdk.targets \
2020-10-15 17:47:55 +03:00
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Microsoft.$( 1) .Sdk.SupportedTargetPlatforms.targets \
2020-06-04 17:39:19 +03:00
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Microsoft.$( 1) .Sdk.DefaultItems.props \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Microsoft.$( 1) .Sdk.targets \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Microsoft.$( 1) .TargetFrameworkInference.targets \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Xamarin.Shared.Sdk.DefaultItems.targets \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Xamarin.Shared.Sdk.TargetFrameworkInference.targets \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Xamarin.Shared.Sdk.targets \
2020-10-15 17:43:29 +03:00
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Xamarin.Shared.Sdk.Versions.targets \
$( DOTNET_DESTDIR) /Microsoft.$( 1) .Sdk/targets/Xamarin.Shared.Sdk.Versions.template.targets
2020-06-04 17:39:19 +03:00
e n d e f
2020-06-15 18:47:18 +03:00
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call DefineTargets ,$ ( platform ) ) ) )
2020-05-13 16:23:29 +03:00
DIRECTORIES += \
$( DOTNET_NUPKG_DIR) \
2020-10-15 12:45:36 +03:00
$( DOTNET_PKG_DIR) \
2020-05-13 16:23:29 +03:00
$( DOTNET_FEED_DIR) \
2020-06-15 18:47:18 +03:00
$( foreach platform,$( DOTNET_PLATFORMS) ,$( DOTNET_DESTDIR) /Microsoft.$( platform) .Sdk/Sdk) \
$( foreach platform,$( DOTNET_PLATFORMS) ,$( DOTNET_DESTDIR) /Microsoft.$( platform) .Sdk/targets) \
2020-10-15 12:38:29 +03:00
$( DOTNET_MANIFESTS_PATH) \
2020-10-15 12:39:20 +03:00
$( DOTNET_PACKS_PATH) \
$( foreach platform,$( DOTNET_PLATFORMS) ,$( DOTNET_PACKS_PATH) /Microsoft.$( platform) .Sdk) \
$( foreach platform,$( DOTNET_PLATFORMS) ,$( DOTNET_PACKS_PATH) /Microsoft.$( platform) .Ref) \
2020-10-15 12:45:36 +03:00
$( TMP_PKG_DIR) \
2020-05-13 16:23:29 +03:00
$(DIRECTORIES) :
$( Q) mkdir -p $@
CURRENT_HASH_LONG := $( shell git log -1 --pretty= %H)
2020-06-15 18:47:18 +03:00
$(DOTNET_DESTDIR)/Microsoft.% : Microsoft .% | $( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( DOTNET_DESTDIR ) /Microsoft .$ ( platform ) .Sdk /Sdk $ ( DOTNET_DESTDIR ) /Microsoft .$ ( platform ) .Sdk /targets )
2020-05-25 16:22:29 +03:00
$( Q) $( CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.iOS.Sdk/targets/% : targets /% | $( DOTNET_DESTDIR ) /Microsoft .iOS .Sdk /targets
$( Q) $( CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.tvOS.Sdk/targets/% : targets /% | $( DOTNET_DESTDIR ) /Microsoft .tvOS .Sdk /targets
$( Q) $( CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.watchOS.Sdk/targets/% : targets /% | $( DOTNET_DESTDIR ) /Microsoft .watchOS .Sdk /targets
$( Q) $( CP) $< $@
$(DOTNET_DESTDIR)/Microsoft.macOS.Sdk/targets/% : targets /% | $( DOTNET_DESTDIR ) /Microsoft .macOS .Sdk /targets
$( Q) $( CP) $< $@
2020-10-15 17:43:29 +03:00
targets/%.targets : targets /%.template .targets Makefile $( TOP ) /Make .config .inc $( TOP ) /.git /HEAD $( TOP ) /.git /index
2020-05-13 16:23:29 +03:00
$( Q_GEN) sed \
-e " s/@IOS_NUGET_VERSION_NO_METADATA@/ $( IOS_NUGET_VERSION_NO_METADATA) /g " \
-e " s/@TVOS_NUGET_VERSION_NO_METADATA@/ $( TVOS_NUGET_VERSION_NO_METADATA) /g " \
-e " s/@WATCHOS_NUGET_VERSION_NO_METADATA@/ $( WATCHOS_NUGET_VERSION_NO_METADATA) /g " \
-e " s/@MACOS_NUGET_VERSION_NO_METADATA@/ $( MACOS_NUGET_VERSION_NO_METADATA) /g " \
-e " s/@IOS_NUGET_VERSION_FULL@/ $( IOS_NUGET_VERSION_FULL) /g " \
-e " s/@TVOS_NUGET_VERSION_FULL@/ $( TVOS_NUGET_VERSION_FULL) /g " \
-e " s/@WATCHOS_NUGET_VERSION_FULL@/ $( WATCHOS_NUGET_VERSION_FULL) /g " \
-e " s/@MACOS_NUGET_VERSION_FULL@/ $( MACOS_NUGET_VERSION_FULL) /g " \
-e " s/@CURRENT_BRANCH@/ $( CURRENT_BRANCH_SED_ESCAPED) /g " \
-e " s/@CURRENT_HASH_LONG@/ $( CURRENT_HASH_LONG) /g " \
$< > $@
2020-10-15 19:48:29 +03:00
d e f i n e D e f a u l t I t e m s
Microsoft.$1.Sdk/targets/Microsoft.$1.Sdk.DefaultItems.props : targets /Microsoft .Sdk .DefaultItems .template .props Makefile
$$ ( Q_GEN) sed \
-e " s/@PLATFORM@/ $1 /g " \
$$ < > $$ @
e n d e f
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call DefaultItems ,$ ( platform ) ) ) )
2020-08-31 10:27:19 +03:00
d e f i n e S u p p o r t e d T a r g e t P l a t f o r m s
2020-10-15 17:47:55 +03:00
Microsoft.$(1).Sdk/targets/Microsoft.$(1).Sdk.SupportedTargetPlatforms.targets : $( TOP ) /Versions -ios .plist .in $( TOP ) /Versions -mac .plist .in Makefile ./generate -target -platforms .csharp Makefile
2020-08-31 10:27:19 +03:00
$( Q) rm -f $$ @.tmp
$( Q) ./generate-target-platforms.csharp $( 1) $$ @.tmp
$( Q) mv $$ @.tmp $$ @
e n d e f
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call SupportedTargetPlatforms ,$ ( platform ) ) ) )
2020-10-15 12:35:03 +03:00
d e f i n e W o r k l o a d T a r g e t s
Microsoft.NET.Workload.$(1)/WorkloadManifest.json : targets /WorkloadManifest .template .json Makefile $( TOP ) /Make .config .inc $( TOP ) /.git /HEAD $( TOP ) /.git /index
$$ ( Q) rm -f $$ @.tmp
$$ ( Q_GEN) sed \
-e " s/@VERSION@/ $3 /g " \
-e " s/@PLATFORM_LOWERCASE@/ $2 /g " \
-e " s/@PLATFORM@/ $1 /g " \
$$ < > $$ @.tmp
$$ ( Q) mv $$ @.tmp $$ @
WORKLOAD_TARGETS += Microsoft.NET.Workload.$( 1) /WorkloadManifest.json
e n d e f
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call WorkloadTargets ,$ ( platform ) ,$ ( shell echo $ ( platform ) | tr A -Z a -z ) ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ) ) )
2020-05-13 16:23:29 +03:00
TEMPLATED_FILES = \
2020-10-15 17:43:29 +03:00
targets/Xamarin.Shared.Sdk.Versions.targets \
2020-10-15 17:47:55 +03:00
$( foreach platform,$( DOTNET_PLATFORMS) ,Microsoft.$( platform) .Sdk/targets/Microsoft.$( platform) .Sdk.SupportedTargetPlatforms.targets) \
2020-05-13 16:23:29 +03:00
nupkgs/$(IOS_NUGET).%.nupkg : CURRENT_VERSION_NO_METADATA =$( IOS_NUGET_VERSION_NO_METADATA )
nupkgs/$(TVOS_NUGET).%.nupkg : CURRENT_VERSION_NO_METADATA =$( TVOS_NUGET_VERSION_NO_METADATA )
nupkgs/$(WATCHOS_NUGET).%.nupkg : CURRENT_VERSION_NO_METADATA =$( WATCHOS_NUGET_VERSION_NO_METADATA )
nupkgs/$(MACOS_NUGET).%.nupkg : CURRENT_VERSION_NO_METADATA =$( MACOS_NUGET_VERSION_NO_METADATA )
nupkgs/$(IOS_NUGET).%.nupkg : CURRENT_VERSION_FULL =$( IOS_NUGET_VERSION_FULL )
nupkgs/$(TVOS_NUGET).%.nupkg : CURRENT_VERSION_FULL =$( TVOS_NUGET_VERSION_FULL )
nupkgs/$(WATCHOS_NUGET).%.nupkg : CURRENT_VERSION_FULL =$( WATCHOS_NUGET_VERSION_FULL )
nupkgs/$(MACOS_NUGET).%.nupkg : CURRENT_VERSION_FULL =$( MACOS_NUGET_VERSION_FULL )
# Create the nuget in a temporary directory (nupkgs/)
2020-06-04 17:39:19 +03:00
d e f i n e C r e a t e N u G e t T e m p l a t e
2020-07-01 18:08:46 +03:00
nupkgs/$(1).$(2)+$(NUGET_BUILD_METADATA).nupkg : $( TEMPLATED_FILES ) $( 3) package /$( 1) /package .csproj $( wildcard package /*.csproj ) $( wildcard $ ( DOTNET_DESTDIR ) /$ ( 1) /* $ ( DOTNET_DESTDIR ) /$ ( 1) /*/* $ ( DOTNET_DESTDIR ) /$ ( 1) /*/*/* $ ( DOTNET_DESTDIR ) /$ ( 1) /*/*/*/*) global .json
2020-06-04 17:39:19 +03:00
@# Delete any versions of the nuget we' re building
$$ ( Q) rm -f nupkgs/$( 1) .*.nupkg
$$ ( Q_PACK) $( DOTNET5) pack package/$( 1) /package.csproj --output " $$ (dir $$ @) " $( DOTNET_PACK_VERBOSITY)
2020-05-13 16:23:29 +03:00
@# Nuget pack doesn' t add the metadata to the filename, but we want that, so rename nuget to contain the full name
2020-06-04 17:39:19 +03:00
$$ ( Q) mv " nupkgs/ $( 1) . $( 2) .nupkg " " $$ @ "
@# Clean the local feed
$$ ( Q_NUGET_DEL) if test -d $( DOTNET_FEED_DIR) /$( shell echo $( 1) | tr A-Z a-z) /$( 2) ; then nuget delete $( 1) $( 2) -source $( abspath $( DOTNET_FEED_DIR) ) -NonInteractive $( NUGET_VERBOSITY) ; fi
2020-05-13 16:23:29 +03:00
@# Add the nupkg to our local feed
2020-06-04 17:39:19 +03:00
$$ ( Q_NUGET_ADD) nuget add " $$ @ " -source $( DOTNET_FEED_DIR) -NonInteractive $( NUGET_VERBOSITY)
e n d e f
# Create the NuGet packaging targets. It's amazing what make allows you to do...
2020-06-15 18:47:18 +03:00
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call CreateNuGetTemplate ,Microsoft .$ ( platform ) .Sdk ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ,$ ( $ ( platform ) _NUGET_TARGETS ) ) ) )
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call CreateNuGetTemplate ,Microsoft .$ ( platform ) .Ref ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ) ) )
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( foreach rid ,$ ( DOTNET_ $ ( platform ) _RUNTIME_IDENTIFIERS ) ,$ ( eval $ ( call CreateNuGetTemplate ,Microsoft .$ ( platform ) .Runtime .$ ( rid ) ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ) ) ) )
2020-05-13 16:23:29 +03:00
# Copy the nuget from the temporary directory into the final directory
$(DOTNET_NUPKG_DIR)/%.nupkg : nupkgs /%.nupkg | $( DOTNET_NUPKG_DIR )
2020-06-04 17:39:19 +03:00
$( Q) $( CP) $< $@
2020-05-13 16:23:29 +03:00
2020-06-04 17:39:19 +03:00
RUNTIME_PACKS_IOS = $( foreach rid,$( DOTNET_IOS_RUNTIME_IDENTIFIERS) ,$( DOTNET_NUPKG_DIR) /$( IOS_NUGET) .Runtime.$( rid) .$( IOS_NUGET_VERSION_FULL) .nupkg)
RUNTIME_PACKS_TVOS = $( foreach rid,$( DOTNET_TVOS_RUNTIME_IDENTIFIERS) ,$( DOTNET_NUPKG_DIR) /$( TVOS_NUGET) .Runtime.$( rid) .$( TVOS_NUGET_VERSION_FULL) .nupkg)
RUNTIME_PACKS_WATCHOS = $( foreach rid,$( DOTNET_WATCHOS_RUNTIME_IDENTIFIERS) ,$( DOTNET_NUPKG_DIR) /$( WATCHOS_NUGET) .Runtime.$( rid) .$( WATCHOS_NUGET_VERSION_FULL) .nupkg)
RUNTIME_PACKS_MACOS = $( foreach rid,$( DOTNET_MACOS_RUNTIME_IDENTIFIERS) ,$( DOTNET_NUPKG_DIR) /$( MACOS_NUGET) .Runtime.$( rid) .$( MACOS_NUGET_VERSION_FULL) .nupkg)
2020-05-13 16:23:29 +03:00
RUNTIME_PACKS = $( RUNTIME_PACKS_IOS) $( RUNTIME_PACKS_TVOS) $( RUNTIME_PACKS_WATCHOS) $( RUNTIME_PACKS_MACOS)
REF_PACK_IOS = $( DOTNET_NUPKG_DIR) /$( IOS_NUGET) .Ref.$( IOS_NUGET_VERSION_FULL) .nupkg
REF_PACK_TVOS = $( DOTNET_NUPKG_DIR) /$( TVOS_NUGET) .Ref.$( TVOS_NUGET_VERSION_FULL) .nupkg
REF_PACK_WATCHOS = $( DOTNET_NUPKG_DIR) /$( WATCHOS_NUGET) .Ref.$( WATCHOS_NUGET_VERSION_FULL) .nupkg
REF_PACK_MACOS = $( DOTNET_NUPKG_DIR) /$( MACOS_NUGET) .Ref.$( MACOS_NUGET_VERSION_FULL) .nupkg
REF_PACKS = $( REF_PACK_IOS) $( REF_PACK_TVOS) $( REF_PACK_WATCHOS) $( REF_PACK_MACOS)
SDK_PACK_IOS = $( DOTNET_NUPKG_DIR) /$( IOS_NUGET) .Sdk.$( IOS_NUGET_VERSION_FULL) .nupkg
SDK_PACK_TVOS = $( DOTNET_NUPKG_DIR) /$( TVOS_NUGET) .Sdk.$( TVOS_NUGET_VERSION_FULL) .nupkg
SDK_PACK_WATCHOS = $( DOTNET_NUPKG_DIR) /$( WATCHOS_NUGET) .Sdk.$( WATCHOS_NUGET_VERSION_FULL) .nupkg
SDK_PACK_MACOS = $( DOTNET_NUPKG_DIR) /$( MACOS_NUGET) .Sdk.$( MACOS_NUGET_VERSION_FULL) .nupkg
SDK_PACKS = $( SDK_PACK_IOS) $( SDK_PACK_TVOS) $( SDK_PACK_WATCHOS) $( SDK_PACK_MACOS)
pack-ios : $( RUNTIME_PACKS_IOS ) $( REF_PACK_IOS ) $( SDK_PACK_IOS )
pack-tvos : $( RUNTIME_PACKS_TVOS ) $( REF_PACK_TVOS ) $( SDK_PACK_TVOS )
pack-watchos : $( RUNTIME_PACKS_WATCHOS ) $( REF_PACK_WATCHOS ) $( SDK_PACK_WATCHOS )
pack-macos : $( RUNTIME_PACKS_MACOS ) $( REF_PACK_MACOS ) $( SDK_PACK_MACOS )
TARGETS += $( RUNTIME_PACKS) $( REF_PACKS) $( SDK_PACKS)
2020-10-15 12:38:29 +03:00
d e f i n e I n s t a l l W o r k l o a d
$(DOTNET_MANIFESTS_PATH)/Microsoft.NET.Workload.$1 : | $( DOTNET_MANIFESTS_PATH )
$$ ( Q_LN) ln -Fhs $$ ( abspath Microsoft.NET.Workload.$1 ) $$ ( abspath $$ @)
2020-10-15 12:39:20 +03:00
$(DOTNET_PACKS_PATH)/Microsoft.$1.Sdk/$2 : | $( DOTNET_PACKS_PATH ) /Microsoft .$1.Sdk
$$ ( Q_LN) ln -Fhs $$ ( abspath $( DOTNET_DESTDIR) /Microsoft.$1 .Sdk) $$ ( abspath $$ @)
$(DOTNET_PACKS_PATH)/Microsoft.$1.Ref/$2 : | $( DOTNET_PACKS_PATH ) /Microsoft .$1.Ref
$$ ( Q_LN) ln -Fhs $$ ( abspath $( DOTNET_DESTDIR) /Microsoft.$1 .Ref) $$ ( abspath $$ @)
2020-10-15 12:38:29 +03:00
WORKLOAD_TARGETS += \
$( DOTNET_MANIFESTS_PATH) /Microsoft.NET.Workload.$1 \
2020-10-15 12:39:20 +03:00
$( DOTNET_PACKS_PATH) /Microsoft.$1 .Sdk/$2 \
$( DOTNET_PACKS_PATH) /Microsoft.$1 .Ref/$2
2020-10-15 12:38:29 +03:00
e n d e f
2020-10-15 12:45:36 +03:00
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call InstallWorkload ,$ ( platform ) ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ) ) )
# We create three packages: one for the workload, one for the sdk package, and one for the ref package,
# and then bundle them into a single pkg for distribution (named Microsoft.<platform>.Bundle.<version>.pkg).
# This way we can create and publish separate updated for each workload/sdk/ref package later if we want to.
d e f i n e C r e a t e P a c k a g e
# The workload package
$(TMP_PKG_DIR)/Microsoft.$1.Workload.$2.pkg : $( $ ( 1) _NUGET_TARGETS ) $( WORKLOAD_TARGETS ) Makefile | $( TMP_PKG_DIR )
$$ ( Q) rm -f $$ @
$$ ( Q_GEN) pkgbuild --quiet --version '$2' --root Microsoft.NET.Workload.$1 --component-plist PackageInfo.plist --install-location /usr/local/share/dotnet/sdk-manifests/$( DOTNET5_VERSION_BAND) /Microsoft.NET.Workload.$1 --identifier com.microsoft.net.$3 .workload.pkg $$ @.tmp
$$ ( Q) mv $$ @.tmp $$ @
# The sdk package
$(TMP_PKG_DIR)/Microsoft.$1.Sdk.$2.pkg : $( REF_PACK_ $ ( 4) ) | $( TMP_PKG_DIR )
$$ ( Q) rm -f $$ @
$$ ( Q_GEN) pkgbuild --quiet --version '$2' --root $( DOTNET_DESTDIR) /Microsoft.$1 .Sdk --component-plist PackageInfo.plist --install-location /usr/local/share/dotnet/packs/Microsoft.$1 .Sdk/$2 --identifier com.microsoft.net.$3 .sdk.pkg $$ @.tmp
$$ ( Q) mv $$ @.tmp $$ @
# The ref package
$(TMP_PKG_DIR)/Microsoft.$1.Ref.$2.pkg : $( SDK_PACK_ $ ( 4) ) | $( TMP_PKG_DIR )
$$ ( Q) rm -f $$ @
$$ ( Q_GEN) pkgbuild --quiet --version '$2' --root $( DOTNET_DESTDIR) /Microsoft.$1 .Ref --component-plist PackageInfo.plist --install-location /usr/local/share/dotnet/packs/Microsoft.$1 .Ref/$2 --identifier com.microsoft.net.$3 .ref.pkg $$ @.tmp
$$ ( Q) mv $$ @.tmp $$ @
# The final bundle package for distribution
$(TMP_PKG_DIR)/Microsoft.$1.Bundle.$2.pkg : $( TMP_PKG_DIR ) /Microsoft .$1.Workload .$2.pkg $( TMP_PKG_DIR ) /Microsoft .$1.Sdk .$2.pkg $( TMP_PKG_DIR ) /Microsoft .$1.Ref .$2.pkg
$$ ( Q) rm -f $$ @
$$ ( Q_GEN) productbuild \
--quiet \
--identifier com.microsoft.net.$3 .pkg \
--version '$2' \
--package $( TMP_PKG_DIR) /Microsoft.$1 .Workload.$2 .pkg \
--package $( TMP_PKG_DIR) /Microsoft.$1 .Sdk.$2 .pkg \
--package $( TMP_PKG_DIR) /Microsoft.$1 .Ref.$2 .pkg \
$$ @.tmp
$$ ( Q) mv $$ @.tmp $$ @
# Copy the bundle package from our temporary directory to the target directory
$(DOTNET_PKG_DIR)/Microsoft.$1.Bundle.$2.pkg : $( TMP_PKG_DIR ) /Microsoft .$1.Bundle .$2.pkg | $( DOTNET_PKG_DIR )
$$ ( Q) $( CP) $$ < $$ @
PACKAGE_TARGETS += $( DOTNET_PKG_DIR) /Microsoft.$1 .Bundle.$2 .pkg
e n d e f
$( foreach platform ,$ ( DOTNET_PLATFORMS ) ,$ ( eval $ ( call CreatePackage ,$ ( platform ) ,$ ( $ ( platform ) _NUGET_VERSION_NO_METADATA ) ,$ ( shell echo $ ( platform ) | tr A -Z a -z ) ,$ ( shell echo $ ( platform ) | tr a -z A -Z ) ) ) )
2020-10-15 12:38:29 +03:00
TARGETS += $( WORKLOAD_TARGETS)
2020-10-15 12:45:36 +03:00
package : $( PACKAGE_TARGETS )
2020-05-20 10:26:27 +03:00
i f d e f E N A B L E _ D O T N E T
2020-10-15 17:43:29 +03:00
all-local :: $( TARGETS ) targets /Xamarin .Shared .Sdk .Versions .targets
2020-05-20 10:26:27 +03:00
e n d i f
2020-05-13 16:23:29 +03:00
2020-07-01 18:08:46 +03:00
# This tells NuGet to use the exact same dotnet version we've configured in Make.config
2020-09-21 14:22:44 +03:00
global.json : $( TOP ) /global 5.json
$( CP) $< $@
2020-07-01 18:08:46 +03:00
2020-05-13 16:23:29 +03:00
clean-local ::
2020-06-03 10:00:19 +03:00
$( Q) rm -Rf $( DOTNET_NUPKG_DIR) $( DOTNET_FEED_DIR)
2020-05-13 16:23:29 +03:00
$( Q) git clean -xfdq
.SECONDARY :