X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2FMakefile;h=45b0668c2b14256cedad77fe059eb156c13d4fc3;hb=9fd98bca7ce45185c86f60f9cbecc8f2691009eb;hp=098a1a0a7e99867839f7d95f3f1de8f72a6553f7;hpb=1f2bd461cf797ff64847b04f538771ef0845a69b;p=mono.git diff --git a/mcs/mcs/Makefile b/mcs/mcs/Makefile index 098a1a0a7e9..45b0668c2b1 100644 --- a/mcs/mcs/Makefile +++ b/mcs/mcs/Makefile @@ -2,48 +2,10 @@ thisdir := mcs SUBDIRS := include ../build/rules.make -COMPILER_SOURCES = \ - AssemblyInfo.cs \ - anonymous.cs \ - assign.cs \ - attribute.cs \ - driver.cs \ - cs-tokenizer.cs \ - cfold.cs \ - class.cs \ - codegen.cs \ - const.cs \ - constant.cs \ - convert.cs \ - decl.cs \ - delegate.cs \ - enum.cs \ - ecore.cs \ - expression.cs \ - flowanalysis.cs \ - genericparser.cs \ - interface.cs \ - iterators.cs \ - literal.cs \ - location.cs \ - modifiers.cs \ - namespace.cs \ - parameter.cs \ - pending.cs \ - report.cs \ - rootcontext.cs \ - statement.cs \ - support.cs \ - typemanager.cs \ - symbolwriter.cs \ - tree.cs - -all_sources = $(COMPILER_SOURCES) cs-parser.cs - -DISTFILES = \ - $(COMPILER_SOURCES) \ +BUILT_SOURCES = cs-parser.cs + +EXTRA_DISTFILES = \ compiler.csproj \ - compiler.csproj.user \ compiler.doc \ compiler.sln \ cs-parser.jay \ @@ -51,27 +13,16 @@ DISTFILES = \ NOTES \ TODO -all-local: mcs.exe - -install-local: mcs.exe - $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin - $(INSTALL_BIN) mcs.exe $(DESTDIR)$(prefix)/bin - -uninstall-local: - -rm -f $(DESTDIR)$(prefix)/bin/mcs.exe - -test-local run-test-local: - -clean-local: - rm -f *.exe *.pdb cs-parser.cs y.output +PROGRAM = mcs.exe +PROGRAM_COMPILE = $(BOOT_COMPILE) +PROGRAM_INSTALL_DIR = $(prefix)/lib/mono/1.0 -dist-local: dist-default - -mcs.exe: $(all_sources) - $(BOOT_COMPILE) /target:exe /out:$@ $^ +CLEAN_FILES = y.output cs-parser.cs: cs-parser.jay $(topdir)/jay/skeleton.cs - $(topdir)/jay/jay -ctv < $(topdir)/jay/skeleton.cs $< >$@ + $(topdir)/jay/jay -ctv < $(topdir)/jay/skeleton.cs $< > jay-tmp.out && mv jay-tmp.out $@ + +include ../build/executable.make # Testing targets @@ -84,39 +35,37 @@ 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:$@ $(all_sources) + $(TIME) $(RUNTIME) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(BUILT_SOURCES) @$(response) mcs3.exe: mcs2.exe - $(TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(all_sources) + $(TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(BUILT_SOURCES) @$(response) wc: - wc -l $(all_sources) + wc -l $(BUILT_SOURCES) `cat $(sourcefile)` ctest: - -rm mcs2.exe mcs3.exe - make btest USE_MCS_FLAGS= + rm -f mcs2.exe mcs3.exe + $(MAKE) USE_MCS_FLAGS= 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 @ echo -n "Run 1: " - @ $(FRIENDLY_TIME) $(RUNTIME) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:mcs2.exe $(all_sources) > /dev/null || (echo FAILED; exit 1) + @ rm -f mcs2.exe + @ $(MAKE) TIME="$(FRIENDLY_TIME)" mcs2.exe > /dev/null || (echo FAILED; exit 1) @ echo -n "Run 2: " - @ $(FRIENDLY_TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:mcs3.exe $(all_sources) > /dev/null || (echo FAILED; exit 1) - @ 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) + @ rm -f mcs3.exe + @ $(MAKE) TIME="$(FRIENDLY_TIME)" mcs3.exe > /dev/null || (echo FAILED; exit 1) + @ $(MAKE) do-corlib 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 ../../mcs/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 $(all_sources) + $(RUNTIME) --profile=$(PROFILER) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:mcs2.exe $(BUILT_SOURCES) @$(response) -response: - echo $(all_sources) > res