-noinst_PROGRAMS = pedump
+if PLATFORM_WIN32
+export HOST_CC
+# Use -m here. This will use / as directory separator (C:/WINNT).
+# The files that use MONO_ASSEMBLIES and/or MONO_CFG_DIR replace the
+# / by \ if running under WIN32.
+assembliesdir = `cygpath -m "${libdir}"`
+confdir = `cygpath -m "${sysconfdir}"`
+# The mingw math.h has "extern inline" functions that dont appear in libs, so
+# optimisation is required to actually inline them
+AM_CFLAGS = -O
+PLATFORM_LIB = ../os/libmonoos.la
+else
+assembliesdir = $(exec_prefix)/lib
+confdir = $(sysconfdir)
+endif
-lib_LIBRARIES = libmetadata.a
+bin_PROGRAMS = pedump monodiet
#
-# Keep in sync with mono/runtime/Makefile.am
+# libtool is not capable of creating static/shared versions of the same
+# convenience lib, so we have to do it ourselves
#
-assembliesdir = $(libdir)
+noinst_LTLIBRARIES = libmonoruntime.la libmonoruntime-static.la
-INCLUDES = $(GLIB_CFLAGS) $(GMODULE_CFLAGS) -I$(top_srcdir) \
- -DMONO_ASSEMBLIES=\""$(assembliesdir)"\"
+INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(ICU_CFLAGS) \
+ -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
-if THREADS_PTHREAD
-THREAD_SOURCE = \
- threads-pthread.c \
- threads-pthread.h \
- threads-pthread-types.c \
- threads-pthread-types.h \
- #
-else
-THREAD_SOURCE = \
- threads-dummy.h \
- threads-dummy.c \
- threads-dummy-types.c \
- threads-dummy-types.h \
- #
-endif
+#
+# Make sure any prefix changes are updated in the binaries too.
+#
+# assembly.c uses MONO_ASSEMBLIES
+# mono-config.c uses MONO_CFG_DIR
+#
+# This won't result in many more false positives than AC_DEFINEing them
+# in configure.in.
+#
+assembly.lo mono-config.lo: Makefile
-libmetadata_a_SOURCES = \
+CLEANFILES = mono-bundle.stamp
+
+libmonoruntime_static_la_LIBADD = $(bundle_obj) $(PLATFORM_LIB) $(libmonoruntime_la_LIBADD)
+
+libmonoruntime_la_SOURCES = \
+ reflection.c \
+ object.c \
+ object-internals.h \
+ icall.c \
+ char-conversions.h \
+ decimal.c \
+ decimal.h \
+ boehm-gc.c \
+ null-gc.c \
+ gc.c \
+ gc-internal.h \
+ marshal.c \
+ marshal.h \
+ monitor.c \
+ monitor.h \
+ threads.c \
+ threads-types.h \
+ threadpool.c \
+ threadpool.h \
+ file-io.c \
+ file-io.h \
+ socket-io.c \
+ socket-io.h \
+ exception.c \
+ exception.h \
+ unicode.c \
+ unicode.h \
+ appdomain.c \
+ debug-mono-symfile.h \
+ debug-mono-symfile.c \
+ mono-debug.h \
+ mono-debug.c \
+ mono-debug-debugger.h \
+ mono-debug-debugger.c \
+ profiler.c \
+ profiler-private.h \
+ rand.h \
+ rand.c \
+ security.c \
+ security.h \
+ string-icalls.c \
+ string-icalls.h \
+ sysmath.h \
+ sysmath.c \
+ process.c \
+ process.h \
+ environment.c \
+ environment.h \
+ locales.c \
+ locales.h \
+ filewatcher.c \
+ filewatcher.h \
+ culture-info.h \
+ culture-info-tables.h \
+ security-manager.c \
+ security-manager.h \
+ console-io.c \
+ console-io.h \
assembly.c \
+ domain.c \
+ domain-internals.h \
+ opcodes.c \
image.c \
+ cil-coff.h \
+ tabledefs.h \
metadata.c \
- private.h \
+ metadata-internals.h \
+ verify.c \
+ mono-endian.c \
+ mono-endian.h \
+ mono-config.c \
+ mono-config.h \
rawbuffer.c \
- reflection.c \
+ rawbuffer.h \
loader.c \
class.c \
- object.c \
- icall.c \
- threads.h \
- threads-types.h \
- $(THREAD_SOURCE) \
- #
+ class-internals.h \
+ mempool.c \
+ debug-helpers.c
+
+libmonoruntime_static_la_SOURCES = $(libmonoruntime_la_SOURCES)
-libmetadataincludedir = $(includedir)/mono/metadata
+libmonoruntime_static_la_LDFLAGS = -static
-libmetadatainclude_HEADERS = \
+libmonoruntimeincludedir = $(includedir)/mono/metadata
+
+libmonoruntimeinclude_HEADERS = \
+ appdomain.h \
+ mono-debug.h \
+ mono-gc.h \
+ mono-debug-debugger.h \
+ debug-mono-symfile.h \
+ threads.h \
+ environment.h \
assembly.h \
+ opcodes.h \
blob.h \
- cil-coff.h \
- mono-endian.h \
image.h \
metadata.h \
- rawbuffer.h \
+ verify.h \
reflection.h \
row-indexes.h \
- tabledefs.h \
tokentype.h \
loader.h \
class.h \
- object.h
+ object.h \
+ exception.h \
+ profiler.h \
+ appdomain.h \
+ debug-helpers.h \
+ mempool.h
pedump_SOURCES = \
- pedump.c $(libmetadata_a_SOURCES)
+ pedump.c
+
+pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
+ $(PLATFORM_LIB) \
+ $(LIBGC_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) -lm
+
+monodiet_SOURCES = monodiet.c
-pedump_LDADD = $(GLIB_LIBS) $(GMODULE_LIBS) $(THREAD_LIBS)
+monodiet_LDADD = \
+ libmonoruntime.la \
+ ../io-layer/libwapi.la \
+ ../utils/libmonoutils.la \
+ $(PLATFORM_LIB) \
+ $(LIBGC_LIBS) \
+ $(GLIB_LIBS) \
+ $(GMODULE_LIBS) \
+ $(ICU_LIBS) \
+ -lm
+EXTRA_DIST = make-bundle.pl sample-bundle