2017-10-19 20:04:20 +00:00
PROFILE := mono
SOURCEDIR := ../src/$( PROFILE) /
2018-01-24 17:04:36 +00:00
BCL_PROFILE := ../v4.6/
2017-10-19 20:04:20 +00:00
CSC ?= csc
CSC_COMMON_ARGS := -nologo -noconfig -optimize -nostdlib -unsafe -deterministic -publicsign -debug- -target:library -nowarn:612 -nowarn:618
Q_CSC = $( if $( V) ,,@echo " CSC [ $( PROFILE) ] $( 1) " ; )
2018-01-24 17:04:36 +00:00
ASSEMBLIES := cscompmgd Commons.Xml.Relaxng I18N.CJK I18N.MidEast I18N.Other I18N.Rare I18N.West I18N IBM.Data.DB2 ICSharpCode.SharpZipLib \
Microsoft.Web.Infrastructure Mono.C5 Mono.CSharp Mono.Cairo Mono.CodeContracts Mono.CompilerServices.SymbolWriter Mono.Data.Sqlite \
2017-10-19 20:04:20 +00:00
Mono.Data.Tds Mono.Debugger.Soft Mono.Http Mono.Management Mono.Messaging.RabbitMQ Mono.Messaging \
Mono.Options Mono.Parallel Mono.Posix Mono.Security.Win32 Mono.Security Mono.Simd Mono.Tasklets Mono.WebBrowser \
2018-01-24 17:04:36 +00:00
Novell.Directory.Ldap PEAPI RabbitMQ.Client WebMatrix.Data bare/Mono.Cecil \
SMDiagnostics System.Json.Microsoft System.Json System.Net.Http.Formatting System.Numerics.Vectors \
System.Reactive.Core System.Reactive.Debugger System.Reactive.Experimental System.Reactive.Interfaces System.Reactive.Linq System.Reactive.Observable.Aliases \
System.Reactive.PlatformServices System.Reactive.Providers System.Reactive.Runtime.Remoting System.Reactive.Windows.Forms System.Reactive.Windows.Threading \
System.Threading.Tasks.Dataflow System.Web.Http.SelfHost System.Web.Http.WebHost System.Web.Http System.Web.Mvc System.Web.Razor \
System.Web.WebPages.Deployment System.Web.WebPages.Razor System.Web.WebPages
2017-10-19 20:04:20 +00:00
# generated with (and then slightly tweaked):
# for i in *.dll; do ikdasm --assemblyref $i | grep Name= | sed 's/.*Name=//g' | sed -e $'s/$/\\\n/g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' -e "s/^/${i%.*}_REFS := /"; done
2018-01-24 17:04:36 +00:00
cscompmgd_REFS := mscorlib System
2017-10-19 20:04:20 +00:00
Commons.Xml.Relaxng_REFS := mscorlib System.Xml System
I18N.CJK_REFS := mscorlib
I18N.MidEast_REFS := mscorlib
I18N.Other_REFS := mscorlib
I18N.Rare_REFS := mscorlib
I18N.West_REFS := mscorlib
I18N_REFS := mscorlib
IBM.Data.DB2_REFS := mscorlib System System.Data
ICSharpCode.SharpZipLib_REFS := mscorlib System
2018-01-24 17:04:36 +00:00
Microsoft.Web.Infrastructure_REFS := mscorlib System System.Web
2017-10-19 20:04:20 +00:00
Mono.C5_REFS := mscorlib
Mono.CSharp_REFS := mscorlib System System.Core System.Xml
Mono.Cairo_REFS := mscorlib
Mono.CodeContracts_REFS := mscorlib System.Core System
Mono.CompilerServices.SymbolWriter_REFS := mscorlib System
Mono.Data.Sqlite_REFS := mscorlib System.Data System System.Transactions
Mono.Data.Tds_REFS := mscorlib System
Mono.Debugger.Soft_REFS := mscorlib System.Core System
Mono.Http_REFS := mscorlib System System.Web System.Xml
Mono.Management_REFS := mscorlib System
Mono.Messaging.RabbitMQ_REFS := mscorlib System
Mono.Messaging_REFS := mscorlib System System.Configuration
Mono.Options_REFS := mscorlib System
Mono.Parallel_REFS := mscorlib
Mono.Posix_REFS := mscorlib System
Mono.Security.Win32_REFS := mscorlib
Mono.Security_REFS := mscorlib System
Mono.Simd_REFS := mscorlib
Mono.Tasklets_REFS := mscorlib
Mono.WebBrowser_REFS := mscorlib System
Novell.Directory.Ldap_REFS := mscorlib System
PEAPI_REFS := mscorlib
RabbitMQ.Client_REFS := mscorlib System.Xml System
WebMatrix.Data_REFS := mscorlib System.Data System.Core System System.Configuration
2018-01-24 17:04:36 +00:00
SMDiagnostics_REFS := mscorlib System.Configuration System System.Xml
System.Json.Microsoft_REFS := mscorlib System.Runtime.Serialization System System.Xml System.Core
System.Json_REFS := mscorlib System System.Core
System.Net.Http.Formatting_REFS := mscorlib System System.Xml System.Xml.Linq System.Runtime.Serialization System.Core System.Data System.Net.Http System.Configuration
System.Numerics.Vectors_REFS := mscorlib System.Numerics
System.Reactive.Core_REFS := mscorlib System System.Core
System.Reactive.Debugger_REFS := mscorlib
System.Reactive.Experimental_REFS := mscorlib System.Core System
System.Reactive.Interfaces_REFS := mscorlib System.Core
System.Reactive.Linq_REFS := mscorlib System.Core System
System.Reactive.Observable.Aliases_REFS := mscorlib System.Core
System.Reactive.PlatformServices_REFS := mscorlib System System.Core
System.Reactive.Providers_REFS := mscorlib System.Core System
System.Reactive.Runtime.Remoting_REFS := mscorlib System.Core
System.Reactive.Windows.Forms_REFS := mscorlib System.Windows.Forms
System.Reactive.Windows.Threading_REFS := mscorlib System WindowsBase
System.Threading.Tasks.Dataflow_REFS := mscorlib System.Core System
System.Web.Http.SelfHost_REFS := mscorlib System System.ServiceModel System.Net.Http System.Core System.IdentityModel System.Runtime.Serialization System.Configuration System.Xml
System.Web.Http.WebHost_REFS := mscorlib System.Web System.Core System System.Net.Http System.Xml
System.Web.Http_REFS := mscorlib System System.Net.Http System.Core System.ComponentModel.DataAnnotations System.Runtime.Serialization System.Xml System.Data.Linq
System.Web.Mvc_REFS := mscorlib System.Web System System.Core System.ComponentModel.DataAnnotations System.Web.Extensions System.Runtime.Caching System.Xml System.Data.Linq
System.Web.Razor_REFS := mscorlib System System.Core
System.Web.WebPages.Deployment_REFS := mscorlib System.Web System System.Configuration System.Core
System.Web.WebPages.Razor_REFS := mscorlib System.Web System System.Configuration System.Core
System.Web.WebPages_REFS := mscorlib System.Web System System.Core System.Xml.Linq System.ComponentModel.DataAnnotations System.Data.Linq Microsoft.CSharp
2017-10-19 20:04:20 +00:00
bare/Mono.Cecil_REFS : = mscorlib
I18N.CJK_MONOREFS := I18N
I18N.MidEast_MONOREFS := I18N
I18N.Other_MONOREFS := I18N
I18N.Rare_MONOREFS := I18N
I18N.West_MONOREFS := I18N
Mono.Debugger.Soft_MONOREFS := bare/Mono.Cecil
Mono.Messaging.RabbitMQ_MONOREFS := Mono.Messaging RabbitMQ.Client
2018-01-24 17:04:36 +00:00
System.Reactive.Core_MONOREFS := System.Reactive.Interfaces
System.Reactive.Debugger_MONOREFS := System.Reactive.Linq
System.Reactive.Experimental_MONOREFS := System.Reactive.Linq System.Reactive.Core System.Reactive.Interfaces
System.Reactive.Linq_MONOREFS := System.Reactive.Interfaces System.Reactive.Core
System.Reactive.Observable.Aliases_MONOREFS := System.Reactive.Interfaces System.Reactive.Providers System.Reactive.Linq
System.Reactive.PlatformServices_MONOREFS := System.Reactive.Core System.Reactive.Interfaces System.Reactive.Linq
System.Reactive.Providers_MONOREFS := System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
System.Reactive.Runtime.Remoting_MONOREFS := System.Reactive.Interfaces System.Reactive.Core
System.Reactive.Windows.Forms_MONOREFS := System.Reactive.Core System.Reactive.Interfaces
System.Reactive.Windows.Threading_MONOREFS := System.Reactive.Core System.Reactive.Interfaces
System.Web.Http.SelfHost_MONOREFS := System.Web.Http System.Net.Http.Formatting
System.Web.Http.WebHost_MONOREFS := System.Web.Http Microsoft.Web.Infrastructure
System.Web.Http_MONOREFS := System.Net.Http.Formatting
System.Web.Mvc_MONOREFS := System.Web.WebPages.Razor System.Web.WebPages System.Web.Razor Microsoft.Web.Infrastructure
System.Web.WebPages.Deployment_MONOREFS := Microsoft.Web.Infrastructure
System.Web.WebPages.Razor_MONOREFS := System.Web.Razor System.Web.WebPages
System.Web.WebPages_MONOREFS := System.Web.Razor Microsoft.Web.Infrastructure System.Web.WebPages.Deployment
2017-10-19 20:04:20 +00:00
MONO_KEY := ../../../mcs/class/mono.pub # Public Key Token: 0738eb9f132ed756
2018-01-24 17:04:36 +00:00
ECMA_KEY := ../../../mcs/class/ecma.pub # Public Key Token: b77a5c561934e089
WINFX_KEY := ../../../mcs/class/winfx.pub # Public Key Token: 31bf3856ad364e35
MSFINAL_KEY := ../../../mcs/class/msfinal.pub # Public Key Token: b03f5f7f11d50a3a
2017-10-19 20:04:20 +00:00
IBM.Data.DB2_KEYFILE := ../../../mcs/class/IBM.Data.DB2/ibm.pub
ICSharpCode.SharpZipLib_KEYFILE := ../../../mcs/class/ICSharpCode.SharpZipLib/SharpZipLib.pub
Mono.C5_KEYFILE := ../../../mcs/class/Mono.C5/c5.pub
MONO_KEY_ASSEMBLIES := Commons.Xml.Relaxng I18N.CJK I18N.MidEast I18N.Other I18N.Rare I18N.West I18N \
Mono.CSharp Mono.Cairo Mono.CodeContracts Mono.CompilerServices.SymbolWriter Mono.Data.Sqlite \
Mono.Data.Tds Mono.Debugger.Soft Mono.Http Mono.Management Mono.Messaging.RabbitMQ Mono.Messaging \
Mono.Options Mono.Parallel Mono.Posix Mono.Security.Win32 Mono.Security Mono.Simd Mono.Tasklets Mono.WebBrowser \
Novell.Directory.Ldap PEAPI WebMatrix.Data bare/Mono.Cecil
2018-01-24 17:04:36 +00:00
ECMA_KEY_ASSEMBLIES := SMDiagnostics System.Threading.Tasks.Dataflow
WINFX_KEY_ASSEMBLIES := Microsoft.Web.Infrastructure System.Json.Microsoft System.Json System.Net.Http.Formatting \
System.Reactive.Core System.Reactive.Debugger System.Reactive.Experimental \
System.Reactive.Interfaces System.Reactive.Linq System.Reactive.Observable.Aliases System.Reactive.PlatformServices \
System.Reactive.Providers System.Reactive.Runtime.Remoting System.Reactive.Windows.Forms System.Reactive.Windows.Threading \
System.Web.Http.SelfHost System.Web.Http.WebHost System.Web.Http System.Web.Mvc System.Web.Razor \
System.Web.WebPages.Deployment System.Web.WebPages.Razor System.Web.WebPages
MSFINAL_KEY_ASSEMBLIES := cscompmgd RabbitMQ.Client System.Numerics.Vectors
2017-10-19 20:04:20 +00:00
all : $( addsuffix .dll , $ ( ASSEMBLIES ) )
clean :
rm -f *.dll
rm -f bare/*.dll
d e f i n e K E Y F I L E _ T E M P L A T E
$(1)_KEYFILE := $( 2)
e n d e f
d e f i n e A S S E M B L Y _ T E M P L A T E
$(1).dll : $( addprefix $ ( SOURCEDIR ) ,$ ( subst bare /,,$ ( 1) ) .cs ) $( wildcard $ ( SOURCEDIR ) $ ( 1) .extra .cs ) $( addprefix $ ( BCL_PROFILE ) , $ ( addsuffix .dll , $ ( $ ( 1) _REFS ) ) ) $( addsuffix .dll , $ ( $ ( 1) _MONOREFS ) ) $( $ ( 1) _KEYFILE )
@mkdir -p bare/
$( Q_CSC) $( CSC) -out:$( 1) .dll $( CSC_COMMON_ARGS) -keyfile:$( $( 1) _KEYFILE) $( $( 1) _CSC_ARGS) $( addprefix -r:$( BCL_PROFILE) , $( addsuffix .dll, $( $( 1) _REFS) ) ) $( addprefix -r:, $( addsuffix .dll, $( $( 1) _MONOREFS) ) ) $( wildcard $( SOURCEDIR) $( 1) .extra.cs) $$ <
e n d e f
$( foreach asm , $ ( MONO_KEY_ASSEMBLIES ) , $ ( eval $ ( call KEYFILE_TEMPLATE ,$ ( asm ) , $ ( MONO_KEY ) ) ) )
2018-01-24 17:04:36 +00:00
$( foreach asm , $ ( ECMA_KEY_ASSEMBLIES ) , $ ( eval $ ( call KEYFILE_TEMPLATE ,$ ( asm ) , $ ( ECMA_KEY ) ) ) )
$( foreach asm , $ ( WINFX_KEY_ASSEMBLIES ) , $ ( eval $ ( call KEYFILE_TEMPLATE ,$ ( asm ) , $ ( WINFX_KEY ) ) ) )
$( foreach asm , $ ( MSFINAL_KEY_ASSEMBLIES ) , $ ( eval $ ( call KEYFILE_TEMPLATE ,$ ( asm ) , $ ( MSFINAL_KEY ) ) ) )
2017-10-19 20:04:20 +00:00
$( foreach asm , $ ( ASSEMBLIES ) , $ ( eval $ ( call ASSEMBLY_TEMPLATE ,$ ( asm ) ) ) )