X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2FMakefile;h=6b2e653609dc3e84dc3656b8aef03c96ee0c4332;hb=e0df8328d11d79623c1b0369cf15544b26a18db0;hp=17818572f17033ef89a6c00b2b94f24e5d76a113;hpb=f5fbcf98907eae3b662401a38d46660c61dcb45d;p=mono.git diff --git a/mcs/mcs/Makefile b/mcs/mcs/Makefile index 17818572f17..6b2e653609d 100644 --- a/mcs/mcs/Makefile +++ b/mcs/mcs/Makefile @@ -9,26 +9,27 @@ EXTRA_DISTFILES = \ compiler.doc \ compiler.sln \ cs-parser.jay \ - mcs.exe.config \ NOTES \ TODO -PROGRAM = mcs.exe +PROGRAM = $(topdir)/class/lib/$(PROFILE)/mcs.exe PROGRAM_COMPILE = $(BOOT_COMPILE) -PROGRAM_INSTALL_DIR = $(prefix)/lib/mono/1.0 -install-local: mcs.exe - $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/lib/mono/1.0 - $(INSTALL_BIN) mcs.exe $(DESTDIR)$(prefix)/lib/mono/1.0 - $(INSTALL_DATA) mcs.exe.config $(DESTDIR)$(prefix)/lib/mono/1.0 - -CLEAN_FILES = y.output +CLEAN_FILES = y.output *.exe *.mdb cs-parser.cs: cs-parser.jay $(topdir)/jay/skeleton.cs $(topdir)/jay/jay -ctv < $(topdir)/jay/skeleton.cs $< > jay-tmp.out && mv jay-tmp.out $@ include ../build/executable.make +ifeq (default, $(PROFILE)) +# Utility rule to make debugging somewhat easier. +all-local: mcs.exe +mcs.exe: $(PROGRAM) + cp -p $< $@ + test ! -f $<.mdb || cp -p $<.mdb $@.mdb +endif + # Testing targets TIME = time @@ -39,23 +40,23 @@ TIME = time btest: mcs2.exe mcs3.exe ls -l mcs2.exe mcs3.exe -mcs2.exe: mcs.exe - $(TIME) $(RUNTIME) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(BUILT_SOURCES) @$(response) +mcs2.exe: $(PROGRAM) + $(TIME) $(RUNTIME) $(RUNTIME_FLAGS) $(PROGRAM) $(USE_MCS_FLAGS) -target:exe -out:$@ $(BUILT_SOURCES) @$(response) mcs3.exe: mcs2.exe - $(TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(BUILT_SOURCES) @$(response) + $(TIME) $(RUNTIME) $(RUNTIME_FLAGS) ./mcs2.exe $(USE_MCS_FLAGS) -target:exe -out:$@ $(BUILT_SOURCES) @$(response) wc: wc -l $(BUILT_SOURCES) `cat $(sourcefile)` ctest: rm -f mcs2.exe mcs3.exe - $(MAKE) USE_MCS_FLAGS= btest + $(MAKE) USE_MCS_FLAGS="-d:NET_1_1 -d:ONLY_1_1" btest # we need this because bash tries to use its own crappy timer FRIENDLY_TIME = $(shell which time) -f'%U seconds' -do-time : mcs.exe +do-time : $(PROGRAM) @ echo -n "Run 1: " @ rm -f mcs2.exe @ $(MAKE) TIME="$(FRIENDLY_TIME)" mcs2.exe > /dev/null || (echo FAILED; exit 1) @@ -67,9 +68,9 @@ do-time : mcs.exe do-corlib: @ echo -n "corlib: " @ rm -f ../class/lib/mscorlib.dll - @ cd ../class/corlib ; $(MAKE) BOOTSTRAP_MCS="$(FRIENDLY_TIME) mono ../../mcs/mcs.exe" > /dev/null || (echo FAILED; exit 1) + @ cd ../class/corlib ; $(MAKE) BOOTSTRAP_MCS='$(FRIENDLY_TIME) mono $$(topdir)/class/lib/$(PROFILE)/mcs.exe' > /dev/null || (echo FAILED; exit 1) PROFILER=default -profile : mcs.exe - $(RUNTIME) --profile=$(PROFILER) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:mcs2.exe $(BUILT_SOURCES) @$(response) +profile : $(PROGRAM) + $(RUNTIME) $(RUNTIME_FLAGS) --profile=$(PROFILER) $(PROGRAM) $(USE_MCS_FLAGS) -target:exe -out:mcs2.exe $(BUILT_SOURCES) @$(response)