X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fbuild%2Frules.make;h=226e4d4948caf777708c0072088d60deec6eec2a;hb=301984b6480590282620a6fbb17b13d9bbcac1e8;hp=21b38be0cd03460f0921605dec79e786e612b7bb;hpb=a6f48d1243bc0bf0de3d7deb006c6c66dc392d5a;p=mono.git diff --git a/mcs/build/rules.make b/mcs/build/rules.make index 21b38be0cd0..226e4d4948c 100644 --- a/mcs/build/rules.make +++ b/mcs/build/rules.make @@ -15,22 +15,23 @@ topdir := $(dots) VERSION = 0.93 -USE_MCS_FLAGS = $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS) -USE_MBAS_FLAGS = $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS) +USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS) +USE_MBAS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS) USE_CFLAGS = $(LOCAL_CFLAGS) $(CFLAGS) CSCOMPILE = $(MCS) $(USE_MCS_FLAGS) BASCOMPILE = $(MBAS) $(USE_MBAS_FLAGS) CCOMPILE = $(CC) $(USE_CFLAGS) BOOT_COMPILE = $(BOOTSTRAP_MCS) $(USE_MCS_FLAGS) -INSTALL_DATA = $(INSTALL) -m 644 -INSTALL_BIN = $(INSTALL) -m 755 +INSTALL = $(SHELL) $(topdir)/../mono/install-sh +INSTALL_DATA = $(INSTALL) -c -m 644 +INSTALL_BIN = $(INSTALL) -c -m 755 INSTALL_LIB = $(INSTALL_BIN) MKINSTALLDIRS = $(SHELL) $(topdir)/mkinstalldirs -INTERNAL_MCS = $(RUNTIME) $(topdir)/class/lib/$(PROFILE)/mcs.exe -INTERNAL_MBAS = $(RUNTIME) $(topdir)/mbas/mbas.exe -INTERNAL_GMCS = $(RUNTIME) $(topdir)/gmcs/gmcs.exe -INTERNAL_ILASM = $(RUNTIME) $(topdir)/ilasm/ilasm.exe -INTERNAL_RESGEN = $(RUNTIME) $(topdir)/monoresgen/monoresgen.exe +INTERNAL_MCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/mcs.exe +INTERNAL_MBAS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/mbas/mbas.exe +INTERNAL_GMCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/mcs/gmcs.exe +INTERNAL_ILASM = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/ilasm.exe +INTERNAL_RESGEN = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BOOTSTRAP_PROFILE)/resgen.exe corlib = mscorlib.dll depsdir = $(topdir)/build/deps @@ -97,16 +98,25 @@ include $(topdir)/build/profiles/$(PROFILE).make ifdef OVERRIDE_TARGET_ALL all: all.override else -all: all.real +all: do-all endif -all.real: all-recursive - $(MAKE) all-local +ifdef NO_INSTALL +GACUTIL = : +else +gacutil = $(topdir)/class/lib/net_1_1_bootstrap/gacutil.exe +GACUTIL = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(gacutil) -bootstrap +endif STD_TARGETS = test run-test run-test-ondotnet clean install uninstall -$(STD_TARGETS): %: %-recursive - $(MAKE) $@-local +$(STD_TARGETS): %: do-% + +do-run-test: + ok=:; $(MAKE) run-test-recursive || ok=false; $(MAKE) run-test-local || ok=false; $$ok + +do-%: %-recursive + $(MAKE) $*-local # The way this is set up, any profile-specific subdirs list should # be listed _before_ including rules.make. However, the default @@ -117,6 +127,10 @@ ifndef PROFILE_SUBDIRS PROFILE_SUBDIRS = $(SUBDIRS) endif +ifndef FRAMEWORK_VERSION_MAJOR +FRAMEWORK_VERSION_MAJOR = $(basename $(FRAMEWORK_VERSION)) +endif + %-recursive: @set . $$MAKEFLAGS; final_exit=:; \ case $$2 in --unix) shift ;; esac; \ @@ -138,9 +152,9 @@ dist-recursive: dist-local # The following target can be used like # # dist-local: dist-default -# ... additional commands ... +# ... additional commands ... # -# Notes: +# Notes: # 1. we invert the test here to not end in an error if ChangeLog doesn't exist. # 2. we error out if we try to dist a nonexistant file. # 3. we pick up Makefile, makefile, or GNUmakefile. @@ -152,9 +166,13 @@ dist-default: if test -f GNUmakefile; then m=GNUm; fi; \ for f in $${m}akefile $(DISTFILES) ; do \ dest=`dirname $(distdir)/$$f` ; \ - $(MKINSTALLDIRS) $$dest && cp $$f $$dest || exit 1 ; \ + $(MKINSTALLDIRS) $$dest && cp -p $$f $$dest || exit 1 ; \ done +%/.stamp: + $(MKINSTALLDIRS) $(@D) + touch $@ + # Useful withmcs: