* AssemblyNameTest.cs: Added tests for Clone and serialization without
[mono.git] / mono / metadata / Makefile.am
index 107c01bf34277a48356eda9ed693b65179d078dd..1a4aa4d739f81ea8682f7a49fba15aab54bee06a 100644 (file)
-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)\"
 
-libmetadata_a_SOURCES = \
+#
+# 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
+
+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     \
+       rawbuffer.h     \
        loader.c        \
        class.c         \
-       object.c        \
-       icall.c         \
-       threads.h       \
-       threads-pthread.c       \
-       threads-pthread.h       \
-       #
+       class-internals.h               \
+       mempool.c       \
+       debug-helpers.c
 
-libmetadataincludedir = $(includedir)/mono/metadata
+libmonoruntime_static_la_SOURCES = $(libmonoruntime_la_SOURCES)
 
-libmetadatainclude_HEADERS = \
+libmonoruntime_static_la_LDFLAGS = -static
+
+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      \
-       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) $(PTHREAD_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