2008-09-25 Dick Porter <dick@ximian.com>
[mono.git] / mono / mini / Makefile.am
index a560ec070ba96d1852d2df9ab79ca1b604860935..2fe3e0d3e79bad3ec4c05f16130e4db8166d763f 100644 (file)
@@ -80,6 +80,18 @@ endif
 mono_SOURCES = \
        main.c
 
+if DTRACE_G_REQUIRED
+LIBMONO_DTRACE_OBJECT = .libs/mono-dtrace.$(OBJEXT)
+if STATIC_MONO
+MONO_DTRACE_OBJECT = mono-dtrace.$(OBJEXT)
+else
+MONO_DTRACE_OBJECT = 
+endif
+else
+MONO_DTRACE_OBJECT = 
+LIBMONO_DTRACE_OBJECT = 
+endif
+
 if STATIC_MONO
 # Link libmono into mono statically
 # This leads to higher performance, especially with TLS
@@ -91,11 +103,24 @@ endif
 mono_LDADD = \
        $(MONO_LIB)                     \
        $(GLIB_LIBS)            \
-       -lm
+       -lm     \
+       $(MONO_DTRACE_OBJECT)
 
 mono_LDFLAGS = \
        $(static_flags) -export-dynamic $(monobinldflags)
 
+if DTRACE_G_REQUIRED
+
+mono-dtrace.$(OBJEXT): $(top_srcdir)/data/mono.d mini.lo $(monodir)/mono/metadata/libmonoruntime-static.la
+       DTRACE="$(DTRACE)" DTRACEFLAGS="$(DTRACEFLAGS)" AR="$(AR)" $(SHELL) $(top_srcdir)/dtrace-prelink.sh \
+       $@ $(top_srcdir)/data/mono.d $(monodir)/mono/metadata/libmonoruntime-static.la mini.lo
+
+.libs/mono-dtrace.$(OBJEXT): $(top_srcdir)/data/mono.d mini.lo $(monodir)/mono/metadata/libmonoruntime.la
+       DTRACE="$(DTRACE)" DTRACEFLAGS="$(DTRACEFLAGS)" AR="$(AR)" $(SHELL) $(top_srcdir)/dtrace-prelink.sh \
+       --pic $@ $(top_srcdir)/data/mono.d $(monodir)/mono/metadata/libmonoruntime.la mini.lo
+
+endif
+
 # Create monow.exe, linked for the 'windows' subsystem
 if PLATFORM_WIN32
 monow_LDADD = $(mono_LDADD)
@@ -181,6 +206,9 @@ hppa_sources = \
 
 common_sources = \
        mini.c          \
+       ir-emit.h       \
+       method-to-ir.c  \
+       decompose.c     \
        mini.h          \
        version.h       \
        optflags-def.h          \
@@ -221,7 +249,10 @@ common_sources = \
        declsec.h       \
        wapihandles.c   \
        branch-opts.c   \
-       generic-sharing.c
+       generic-sharing.c       \
+       ssa2.c  \
+       abcremoval2.c   \
+       regalloc2.c
 
 test_sources =                 \
        basic-calls.cs  \
@@ -252,7 +283,7 @@ else
 mono_debugger_sources =
 endif
 
-regtests=basic.exe basic-float.exe basic-long.exe basic-calls.exe objects.exe arrays.exe basic-math.exe exceptions.exe iltests.exe devirtualization.exe generics.exe bench.exe
+regtests=basic.exe basic-float.exe basic-long.exe basic-calls.exe objects.exe arrays.exe basic-math.exe exceptions.exe iltests.exe devirtualization.exe generics.exe
 
 common_BURGSRC= $(srcdir)/inssel.brg $(srcdir)/inssel-float.brg
 
@@ -345,12 +376,16 @@ endif
 
 libmono_la_SOURCES = $(common_sources) $(arch_sources)
 
+if DISABLE_JIT
+nodist_libmono_la_SOURCES = inssel.h
+else
 nodist_libmono_la_SOURCES = inssel.c inssel.h
+endif
 
 libmono_static_la_SOURCES = $(libmono_la_SOURCES)
 nodist_libmono_static_la_SOURCES = $(nodist_libmono_la_SOURCES)
 libmono_static_la_LDFLAGS = -static
-libmono_static_la_LIBADD = $(static_libs)
+libmono_static_la_LIBADD = $(static_libs) $(MONO_DTRACE_OBJECT)
 
 BURGSRC= $(common_BURGSRC) $(arch_BURGSRC)
 
@@ -359,7 +394,7 @@ libmonoincludedir = $(includedir)/mono-$(API_VER)/mono/jit
 libmonoinclude_HEADERS = jit.h
 
 libmono_la_LIBADD = \
-       $(libs)
+       $(libs) $(LIBMONO_DTRACE_OBJECT)
 
 generics.exe: generics.cs TestDriver.dll generics-variant-types.dll
        $(MCS) -out:$@ $< -r:TestDriver.dll -r:generics-variant-types.dll
@@ -385,7 +420,7 @@ generics-variant-types.dll: generics-variant-types.il
 # $(arch_define) is the preprocessor symbol that enables all the opcodes
 # for the specific platform in mini-ops.h
 if CROSS_COMPILING
-GENMDESC_PRG=perl genmdesc.pl $(arch_define) $(srcdir)
+GENMDESC_PRG=perl $(srcdir)/genmdesc.pl $(arch_define) $(srcdir)
 else !CROSS_COMPILING
 GENMDESC_PRG=./genmdesc
 endif !CROSS_COMPILING
@@ -437,7 +472,8 @@ rcheck: mono $(regtests)
        $(RUNTIME) --regression $(regtests)
 
 aotcheck: mono $(regtests)
-       for i in $(regtests); do $(RUNTIME) --aot $$i || exit 1; done
+       rm -f *.exe.so
+       $(RUNTIME) --aot $(regtests) || exit 1
        for i in $(regtests); do $(RUNTIME_AOTCHECK) --regression $$i || exit 1; done
        rm -f *.exe.so
 
@@ -499,7 +535,7 @@ version.h: Makefile
        if test -n "$$svn_info"; then \
                (cd $(top_srcdir); \
                        LANG=C; export LANG; \
-                       branch=`$$svn_info | grep URL | sed -e 's/.*source//' -e 's,mono$$,,'`; \
+                       branch=`$$svn_info | grep URL | sed -e 's/.*source//' -e 's,mono/?$$,,'`; \
                        version=`$$svn_info | grep Revision | sed 's/.*: //'`; \
                        echo "#define FULL_VERSION \"$$branch r$$version\""; \
                ); \