X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FMakefile;h=dc8c0555c110c897c368bc175cd240a9220e56e5;hb=63999d48ebece57ca26855032ebd548b6d1f2f68;hp=6b76fee3f2937ad3b4ff76ad9916be7d81a6e6e2;hpb=a58d0c1dff9576d6cf94d81cf5154dd620f8cdf1;p=mono.git diff --git a/mcs/Makefile b/mcs/Makefile index 6b76fee3f29..dc8c0555c11 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -1,39 +1,95 @@ thisdir := . -SUBDIRS := build jay mcs class mbas nunit20 monoresgen ilasm tools tests errors docs gmcs -OVERRIDE_BARE_TARGETS = hells yeah -include build/rules.make -# Define these ourselves to that the platform checks come first +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 := 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 + +include build/rules.make -#all: platform-check profile-check all-recursive #all-local +all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check -all: - $(MAKE) PROFILE=default all-profile || exit 1; \ - $(MAKE) PROFILE=net_2_0 all-profile || exit 1; +.PHONY: all-local $(STD_TARGETS:=-local) +all-local $(STD_TARGETS:=-local): + @: -all-profile: platform-check profile-check all-recursive +# fun specialty targets -install: platform-check profile-check install-recursive #install-local +PROFILES = default net_2_0 -uninstall: platform-check profile-check uninstall-recursive #uninstall-local +.PHONY: all-profiles $(STD_TARGETS:=-profiles) +all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% + @: -test: platform-check profile-check test-recursive #test-local +profiles-do--%: + $(MAKE) $(PROFILES:%=profile-do--%--$*) -run-test: run-test-recursive #run-test-local +# The % below looks like profile-name--target-name +profile-do--%: + $(MAKE) PROFILE=$(subst --, ,$*) -clean: clean-recursive #clean-local +# 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 -# fun specialty targets +# 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 -# Disting. We need to override $(distdir) here. +compiler-tests: + $(MAKE) TEST_SUBDIRS="tests errors" run-test-profiles + +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 package := mcs-$(VERSION) -top_distdir = $(dots)/$(package) -distdir = $(top_distdir) -export package DISTFILES = \ AUTHORS \ @@ -50,18 +106,19 @@ DISTFILES = \ MonoIcon.png \ README \ ScalableMonoIcon.svg \ - winexe.in + winexe.in \ + nunit.key + +dist-local: dist-default dist-pre: rm -rf $(package) + mkdir $(package) -dist-post: +dist-tarball: dist-pre + $(MAKE) distdir='$(package)' dist-recursive tar cvzf $(package).tar.gz $(package) -dist-local: dist-default - -dist-tarball: dist-pre dist-recursive dist-post - dist: dist-tarball rm -rf $(package) @@ -72,11 +129,10 @@ dist: dist-tarball # We need to set prefix on make so class/System/Makefile can find # the installed System.Xml to build properly -distcheck: +distcheck: dist-tarball rm -rf InstallTest Distcheck-MCS ; \ mkdir InstallTest ; \ destdir=`cd InstallTest && pwd` ; \ - $(MAKE) dist-tarball || exit 1 ; \ mv $(package) Distcheck-MCS ; \ (cd Distcheck-MCS && \ $(MAKE) prefix=$(prefix) && $(MAKE) test && $(MAKE) install DESTDIR="$$destdir" && \