X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FMakefile;h=dc8c0555c110c897c368bc175cd240a9220e56e5;hb=63999d48ebece57ca26855032ebd548b6d1f2f68;hp=fdb0aa6edc9b03473c3593b35e4214540a9a4188;hpb=d0c742b6e951552e9200090e76805e8ba19ce68a;p=mono.git diff --git a/mcs/Makefile b/mcs/Makefile index fdb0aa6edc9..dc8c0555c11 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -1,28 +1,52 @@ thisdir := . -SUBDIRS := build jay mcs monoresgen class mbas nunit20 ilasm tools tests errors docs +SUBDIRS := build jay mcs tools/resgen class mbas nunit20 ilasm tools tests errors docs DIST_ONLY_SUBDIRS := gmcs +basic_SUBDIRS := jay mcs class +net_1_1_bootstrap_SUBDIRS := jay mcs class ilasm tools net_2_0_bootstrap_SUBDIRS := class -net_2_0_SUBDIRS := gmcs class tests errors tools +net_2_0_SUBDIRS := jay gmcs class nunit20 tests errors tools + +# List of test subdirs that should pass 100% +centum_tests := \ + class/corlib \ + class/System \ + class/Commons.Xml.Relaxng \ + class/Cscompmgd \ + class/Microsoft.JScript \ + class/Mono.Posix \ + class/Mono.C5 \ + class/Mono.Security \ + class/System.Configuration.Install \ + class/System.Runtime.Remoting \ + class/System.Runtime.Serialization.Formatters.Soap \ + class/System.Security \ + class/System.Web \ + class/System.Web.Services \ + tests \ + errors + +default_centum_tests := \ + $(centum_tests) \ + class/System.XML \ + class/System.Data + + +net_2_0_centum_tests := $(centum_tests) + +ifdef ONLY_CENTUM_TESTS +TEST_SUBDIRS := $($(PROFILE)_centum_tests) +endif ifdef TEST_SUBDIRS $(PROFILE)_SUBDIRS := $(TEST_SUBDIRS) endif -ifndef NO_SIGN_ASSEMBLIES -OVERRIDE_TARGET_ALL = yes -endif - include build/rules.make all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check -# Used only if OVERRIDE_TARGET_ALL is defined -all.override: - $(MAKE) NO_SIGN_ASSEMBLY=yes all.real - $(MAKE) all.real - .PHONY: all-local $(STD_TARGETS:=-local) all-local $(STD_TARGETS:=-local): @: @@ -32,18 +56,28 @@ all-local $(STD_TARGETS:=-local): PROFILES = default net_2_0 .PHONY: all-profiles $(STD_TARGETS:=-profiles) -all-profiles $(STD_TARGETS:=-profiles): - $(MAKE) $(PROFILES:%=profile-do--%--$(@:-profiles=)) +all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% + @: + +profiles-do--%: + $(MAKE) $(PROFILES:%=profile-do--%--$*) # The % below looks like profile-name--target-name profile-do--%: $(MAKE) PROFILE=$(subst --, ,$*) -# Ensure these don't run in parallel, for now. -profile-do--net_2_0--run-test: profile-do--default--run-test - -profile-do--net_2_0--all: profile-do--net_2_0_bootstrap--all -profile-do--net_2_0_bootstrap--all: profile-do--default--all +# We don't want to run the tests in parallel. We want behaviour like -k. +profiles-do--run-test: + ret=:; $(foreach p,$(PROFILES), { $(MAKE) PROFILE=$(p) run-test || ret=false; }; ) $$ret + +# Orchestrate the bootstrap here. +_boot_ = all clean install +$(_boot_:%=profile-do--net_2_0--%): profile-do--net_2_0--%: profile-do--net_2_0_bootstrap--% +$(_boot_:%=profile-do--net_2_0_bootstrap--%): profile-do--net_2_0_bootstrap--%: profile-do--default--% +$(_boot_:%=profile-do--default--%): profile-do--default--%: profile-do--net_1_1_bootstrap--% +ifeq (linux, $(PLATFORM)) +$(_boot_:%=profile-do--net_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--% +endif testcorlib: @cd class/corlib && $(MAKE) test run-test @@ -72,7 +106,8 @@ DISTFILES = \ MonoIcon.png \ README \ ScalableMonoIcon.svg \ - winexe.in + winexe.in \ + nunit.key dist-local: dist-default