X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FMakefile;h=732936c04b9537e13055282bfcab4cdaa502d90a;hb=73b71062a7753c95d132372275d7f521e8d82087;hp=5331d9c9643a431f88e905b0011d20b7b093b9ac;hpb=1f9fea5529fa36f3ae2ecd32e4adb271884561c7;p=mono.git diff --git a/mcs/Makefile b/mcs/Makefile index 5331d9c9643..732936c04b9 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -1,27 +1,50 @@ thisdir := . -SUBDIRS := build jay mcs monoresgen class mbas nunit20 ilasm tools tests errors docs - -# 'gmcs' is specially built by rules inside class/corlib. +SUBDIRS := build jay mcs tools/resgen class mbas nunit20 ilasm tools tests errors docs DIST_ONLY_SUBDIRS := gmcs -ifdef TEST_SUBDIRS -SUBDIRS := $(TEST_SUBDIRS) +basic_SUBDIRS := build jay mcs class +net_1_1_bootstrap_SUBDIRS := build jay mcs class ilasm tools +net_2_0_bootstrap_SUBDIRS := build class ilasm +net_2_0_SUBDIRS := build jay gmcs class nunit20 ilasm 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.Security \ + class/System.Messaging \ + class/System.Runtime.Remoting \ + class/System.Runtime.Serialization.Formatters.Soap \ + class/System.Security \ + class/System.ServiceProcess \ + class/System.Web.Services \ + tests \ + errors + +default_centum_tests := \ + $(centum_tests) \ + class/System.XML \ + class/System.Data + +net_2_0_centum_tests := $(centum_tests) class/Mono.C5 + +ifdef ONLY_CENTUM_TESTS +TEST_SUBDIRS := $($(PROFILE)_centum_tests) endif -ifndef NO_SIGN_ASSEMBLIES -OVERRIDE_TARGET_ALL = yes +ifdef TEST_SUBDIRS +$(PROFILE)_SUBDIRS := $(TEST_SUBDIRS) 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): @: @@ -31,16 +54,26 @@ 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--all: profile-do--default--all -profile-do--net_2_0--run-test: profile-do--default--run-test +# 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--% +$(_boot_:%=profile-do--net_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--% testcorlib: @cd class/corlib && $(MAKE) test run-test @@ -52,12 +85,7 @@ test-installed-compiler: $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=default TEST_RUNTIME=mono MCS=mcs run-test $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=net_2_0 TEST_RUNTIME=mono MCS=gmcs run-test -# Disting. We need to override $(distdir) here. - package := mcs-$(VERSION) -top_distdir = $(dots)/$(package) -distdir = $(top_distdir) -export package DISTFILES = \ AUTHORS \ @@ -74,17 +102,17 @@ DISTFILES = \ MonoIcon.png \ README \ ScalableMonoIcon.svg \ - winexe.in - + winexe.in \ + nunit.key dist-local: dist-default -dist-recursive: dist-pre dist-pre: rm -rf $(package) mkdir $(package) -dist-tarball: dist-recursive +dist-tarball: dist-pre + $(MAKE) distdir='$(package)' dist-recursive tar cvzf $(package).tar.gz $(package) dist: dist-tarball