X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FMakefile;h=2df7ab91667e99fa35b425957104f917a90c97e6;hb=a6f48d1243bc0bf0de3d7deb006c6c66dc392d5a;hp=3d8978be03e1497c2e5ff9f06575391980313434;hpb=e5aa23189bfdb75e36528e491537ec26ca0fc0c0;p=mono.git diff --git a/mcs/Makefile b/mcs/Makefile index 3d8978be03e..2df7ab91667 100644 --- a/mcs/Makefile +++ b/mcs/Makefile @@ -1,47 +1,76 @@ thisdir := . + SUBDIRS := build jay mcs monoresgen class mbas nunit20 ilasm tools tests errors docs -OVERRIDE_BARE_TARGETS = hells yeah -include build/rules.make +DIST_ONLY_SUBDIRS := gmcs -# Define these ourselves to that the platform checks come first +basic_SUBDIRS := jay mcs class +net_1_1_bootstrap_SUBDIRS := jay mcs class +net_2_0_bootstrap_SUBDIRS := class +net_2_0_SUBDIRS := jay gmcs class tests errors tools -#all: platform-check profile-check all-recursive #all-local +ifdef TEST_SUBDIRS +$(PROFILE)_SUBDIRS := $(TEST_SUBDIRS) +endif -.PHONY: all clean all-profiles clean-profiles install uninstall test run-test testcorlib +OVERRIDE_TARGET_ALL = yes -all: platform-check profile-check all-recursive +include build/rules.make -install: platform-check profile-check install-recursive #install-local +all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check -uninstall: platform-check profile-check uninstall-recursive #uninstall-local +# Used when OVERRIDE_TARGET_ALL is defined +all.override: +ifndef NO_SIGN_ASSEMBLY + $(MAKE) NO_SIGN_ASSEMBLY=yes all.real +endif + $(MAKE) all.real -test: platform-check profile-check test-recursive #test-local +.PHONY: all-local $(STD_TARGETS:=-local) +all-local $(STD_TARGETS:=-local): + @: -run-test: run-test-recursive #run-test-local +# fun specialty targets -run-test-ondotnet: run-test-ondotnet-recursive # run-test-ondotnet-local +PROFILES = default net_2_0 -clean: clean-recursive #clean-local +.PHONY: all-profiles $(STD_TARGETS:=-profiles) +all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% + @: -# fun specialty targets +profiles-do--%: + $(MAKE) $(PROFILES:%=profile-do--%--$*) + +# The % below looks like profile-name--target-name +profile-do--%: + $(MAKE) PROFILE=$(subst --, ,$*) + +profiles-do--run-test: + ret=:; \ + $(MAKE) PROFILE=default run-test || ret=false; \ + $(MAKE) PROFILE=net_2_0 run-test && $$ret -all-profiles: - $(MAKE) PROFILE=default all - $(MAKE) PROFILE=net_2_0 all +# Orchestrate the bootstrap here. +profiles-do--all: profile-do--net_2_0--all -clean-profiles: - $(MAKE) PROFILE=default clean - $(MAKE) PROFILE=net_2_0 clean +profile-do--net_2_0--all: profile-do--net_2_0_bootstrap--all +profile-do--net_2_0_bootstrap--all: profile-do--default--all + +ifeq (linux, $(PLATFORM)) +profile-do--default--all: profile-do--net_1_1_bootstrap--all +profile-do--net_1_1_bootstrap--all: profile-do--basic--all +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 \ @@ -60,16 +89,16 @@ DISTFILES = \ ScalableMonoIcon.svg \ winexe.in +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) @@ -80,11 +109,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" && \