X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FMakefile;h=cedf9c3518cac861df38c47f6744d7aa0e180864;hb=c9e0067f30b5c052503582ec499fade3342c6071;hp=6a0caf3bd3baee048e036b78a335f13c9262f601;hpb=72ed081a73d3f79a7c7b43ddf19665cafb17baf8;p=mono.git diff --git a/mcs/Makefile b/mcs/Makefile index 6a0caf3bd3b..cedf9c3518c 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -1,34 +1,51 @@ 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 -ifdef TEST_SUBDIRS -SUBDIRS := $(TEST_SUBDIRS) -endif +basic_SUBDIRS := jay mcs class +net_1_1_bootstrap_SUBDIRS := jay mcs class tools +net_2_0_bootstrap_SUBDIRS := class +net_2_0_SUBDIRS := jay gmcs class nunit20 tests errors tools -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): @: # fun specialty targets +PROFILES = default net_2_0 + .PHONY: all-profiles $(STD_TARGETS:=-profiles) -all-profiles $(STD_TARGETS:=-profiles): - $(MAKE) PROFILE=default $(@:-profiles=) - $(MAKE) PROFILE=net_2_0 $(@:-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 --, ,$*) + +# 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. +profile-do--net_2_0--all: profile-do--net_2_0_bootstrap--all +profile-do--net_2_0_bootstrap--all: profile-do--default--all +profile-do--default--all: profile-do--net_1_1_bootstrap--all +ifeq (linux, $(PLATFORM)) +profile-do--net_1_1_bootstrap--all: profile-do--basic--all +endif testcorlib: @cd class/corlib && $(MAKE) test run-test @@ -36,12 +53,11 @@ testcorlib: compiler-tests: $(MAKE) TEST_SUBDIRS="tests errors" run-test-profiles -# Disting. We need to override $(distdir) here. +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 \ @@ -58,17 +74,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