2006-08-13 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mono / metadata / Makefile.am
index fe5a4f52bc1a52930c2ddefc41cce205683c0af8..647ad3e72ada364250f1b91fcf1eae43a20c17bd 100644 (file)
@@ -1,33 +1,67 @@
 if PLATFORM_WIN32
+# 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}"`
 export HOST_CC
+else
+# The mingw math.h has "extern inline" functions that dont appear in libs, so
+# optimisation is required to actually inline them
+AM_CFLAGS = -O
+assembliesdir = $(exec_prefix)/lib
+confdir = $(sysconfdir)
 endif
 
-bin_PROGRAMS = monosn
+bin_PROGRAMS = pedump monodiet
 
-noinst_PROGRAMS = pedump
+#
+# libtool is not capable of creating static/shared versions of the same
+# convenience lib, so we have to do it ourselves
+#
+noinst_LTLIBRARIES = libmonoruntime.la libmonoruntime-static.la
 
-noinst_LTLIBRARIES = libmetadata.la libmonoruntime.la
+INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
 
 #
-# Keep in sync with mono/runtime/Makefile.am
+# Make sure any prefix changes are updated in the binaries too.
+#
+#  assembly.c uses MONO_ASSEMBLIES
+#  mono-config.c uses MONO_CFG_DIR
 #
-assembliesdir = $(libdir)
+# This won't result in many more false positives than AC_DEFINEing them
+# in configure.in.
+#
+assembly.lo mono-config.lo: Makefile
+
+CLEANFILES = mono-bundle.stamp
 
-INCLUDES = $(GLIB_CFLAGS) $(GMODULE_CFLAGS) -I$(top_srcdir)    -I$(top_srcdir)/mono \
-       -DMONO_ASSEMBLIES=\""$(assembliesdir)"\" -DMONO_CFG_DIR=\""$(sysconfdir)"\"
+libmonoruntime_static_la_LIBADD = $(bundle_obj) $(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       \
+       sgen-gc.c       \
+       sgen-gc.h       \
        gc.c            \
        gc-internal.h   \
        marshal.c       \
        marshal.h       \
+       monitor.c       \
+       monitor.h       \
+       tabledefs.h \
        threads.c       \
+       threads-types.h \
        threadpool.c    \
+       threadpool.h    \
+       threadpool-internals.h  \
        file-io.c       \
        file-io.h       \
        socket-io.c     \
@@ -39,10 +73,16 @@ libmonoruntime_la_SOURCES = \
        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       \
@@ -50,49 +90,60 @@ libmonoruntime_la_SOURCES = \
        process.c       \
        process.h       \
        environment.c   \
-       environment.h
-
-libmetadata_la_SOURCES = \
+       environment.h   \
+       locales.c       \
+       locales.h       \
+       normalization-tables.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      \
        metadata.c      \
+       metadata-internals.h    \
        verify.c        \
        mono-endian.c   \
+       mono-endian.h   \
        mono-config.c   \
        mono-config.h   \
-       private.h       \
        rawbuffer.c     \
+       rawbuffer.h     \
        loader.c        \
        class.c         \
+       class-internals.h               \
        mempool.c       \
        debug-helpers.c
 
-libmetadataincludedir = $(includedir)/mono/metadata
+libmonoruntime_static_la_SOURCES = $(libmonoruntime_la_SOURCES)
+
+libmonoruntime_static_la_LDFLAGS = -static
+
 libmonoruntimeincludedir = $(includedir)/mono/metadata
 
 libmonoruntimeinclude_HEADERS = \
        appdomain.h     \
+       mono-debug.h    \
+       mono-gc.h       \
        debug-mono-symfile.h    \
-       threadpool.h    \
-       threads-types.h \
        threads.h       \
-       environment.h
-
-libmetadatainclude_HEADERS = \
+       environment.h   \
        assembly.h      \
        opcodes.h       \
        blob.h          \
-       cil-coff.h      \
-       mono-endian.h   \
        image.h         \
        metadata.h      \
        verify.h        \
-       rawbuffer.h     \
        reflection.h    \
        row-indexes.h   \
-       tabledefs.h     \
        tokentype.h     \
        loader.h        \
        class.h         \
@@ -101,20 +152,25 @@ libmetadatainclude_HEADERS = \
        profiler.h      \
        appdomain.h     \
        debug-helpers.h \
-       mempool.h       \
-       rand.h
+       mempool.h
 
 pedump_SOURCES =               \
        pedump.c
 
-pedump_LDADD = libmetadata.la ../io-layer/libwapi.la ../utils/libmonoutils.la $(GLIB_LIBS) $(GMODULE_LIBS) -lm
+pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
+       $(LIBGC_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) -lm
 
+monodiet_SOURCES = monodiet.c
 
-monosn_LDADD = \
-       ../metadata/libmetadata.la      \
+monodiet_LDADD = \
+       libmonoruntime.la       \
        ../io-layer/libwapi.la          \
        ../utils/libmonoutils.la        \
+       $(LIBGC_LIBS)                   \
        $(GLIB_LIBS)                    \
        $(GMODULE_LIBS)                 \
+       $(ICU_LIBS)                     \
        -lm
 
+EXTRA_DIST = make-bundle.pl sample-bundle
+