Get rid of the <foo>-static libraries, libtool doesn't know that they need to be...
[mono.git] / mono / metadata / Makefile.am
index b073671b7b279fe607753ff1e996628cb033b5e3..a2d5464328d402301953a545976212e661b6ed85 100644 (file)
@@ -28,15 +28,31 @@ unix_sources = \
 platform_sources = $(unix_sources)
 endif
 
+if SHARED_MONO
+if SUPPORT_BOEHM
 bin_PROGRAMS = pedump
+endif
+endif
 
-#
-# 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
+if SUPPORT_SGEN
+sgen_libraries = libmonoruntimesgen.la
+endif
+
+if SUPPORT_BOEHM
+shared_boehm_libraries = 
+boehm_libraries = libmonoruntime.la
+endif
+
+if MOONLIGHT
+moonlight_libraries = libmonoruntimemoon.la
+moon-do-build: libmonoruntime.la libmonoruntimemoon.la
+moon-do-clean:
+       -test -z "libmonoruntimemoon.la" || rm -f libmonoruntimemoon.la
+endif
 
-INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
+noinst_LTLIBRARIES = $(boehm_libraries) $(sgen_libraries) $(moonlight_libraries)
+
+INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CPPFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
 
 #
 # Make sure any prefix changes are updated in the binaries too.
@@ -51,16 +67,11 @@ assembly.lo mono-config.lo: Makefile
 
 CLEANFILES = mono-bundle.stamp
 
-libmonoruntime_static_la_LIBADD = $(bundle_obj) $(libmonoruntime_la_LIBADD)
-
 null_sources = \
        console-null.c
 
 sgen_sources = \
-       sgen-gray.c     \
-       sgen-pinning.c  \
-       sgen-pinning-stats.c    \
-       sgen-marksweep.c
+       sgen-fin-weak-hash.c
 
 libmonoruntime_la_SOURCES = \
        $(platform_sources)     \
@@ -118,12 +129,16 @@ libmonoruntime_la_SOURCES = \
        mono-basic-block.c      \
        mono-basic-block.h      \
        mono-config.c           \
+       mono-cq.c               \
+       mono-cq.h               \
        mono-debug.h            \
        mono-debug.c            \
        mono-debug-debugger.h   \
        mono-debug-debugger.c   \
        mono-endian.c           \
        mono-endian.h           \
+       mono-hash.c             \
+       mono-hash.h             \
        mono-mlist.c            \
        mono-mlist.h            \
        mono-perfcounters.c     \
@@ -134,6 +149,7 @@ libmonoruntime_la_SOURCES = \
        mono-wsq.h              \
        monitor.c               \
        monitor.h               \
+       nacl-stub.c             \
        normalization-tables.h  \
        null-gc.c               \
        number-formatter.h      \
@@ -158,10 +174,45 @@ libmonoruntime_la_SOURCES = \
        security-manager.h      \
        sgen-os-posix.c         \
        sgen-os-mach.c          \
+       sgen-os-win32.c         \
        sgen-gc.c               \
+       sgen-internal.c         \
+       sgen-pinned-allocator.c \
+       sgen-marksweep.c        \
+       sgen-marksweep-fixed.c  \
+       sgen-marksweep-par.c    \
+       sgen-marksweep-fixed-par.c      \
+       sgen-major-copying.c    \
+       sgen-los.c              \
+       sgen-protocol.c \
+       sgen-bridge.c           \
+       sgen-bridge.h           \
+       sgen-toggleref.c                \
+       sgen-toggleref.h                \
        sgen-gc.h               \
+       sgen-conf.h             \
        sgen-archdep.h          \
+       sgen-cardtable.c        \
+       sgen-cardtable.h        \
+       sgen-ssb.c      \
+       sgen-ssb.h      \
+       sgen-pinning.c  \
+       sgen-pinning.h  \
+       sgen-pinning-stats.c    \
+       sgen-workers.c  \
+       sgen-workers.h  \
+       sgen-gray.c     \
+       sgen-gray.h     \
+       sgen-major-copy-object.h \
+       sgen-major-scan-object.h \
+       sgen-protocol.h         \
        sgen-scan-object.h      \
+       sgen-nursery-allocator.c        \
+       sgen-hash-table.c       \
+       sgen-descriptor.c               \
+       sgen-descriptor.h               \
+       sgen-alloc.c            \
+       sgen-debug.c            \
        string-icalls.c         \
        string-icalls.h         \
        sysmath.h               \
@@ -176,9 +227,19 @@ libmonoruntime_la_SOURCES = \
        verify-internals.h      \
        wrapper-types.h
 
-libmonoruntime_static_la_SOURCES = $(libmonoruntime_la_SOURCES)
+libmonoruntime_la_CFLAGS = $(BOEHM_DEFINES)
 
-libmonoruntime_static_la_LDFLAGS = -static
+if MOONLIGHT
+libmonoruntimemoon_la_SOURCES = $(libmonoruntime_la_SOURCES)
+if MOONLIGHT_BOEHM
+libmonoruntimemoon_la_CFLAGS = $(MOONLIGHT_DEFINES) $(BOEHM_DEFINES)
+else
+libmonoruntimemoon_la_CFLAGS = $(MOONLIGHT_DEFINES) $(SGEN_DEFINES)
+endif
+endif
+
+libmonoruntimesgen_la_SOURCES = $(libmonoruntime_la_SOURCES)
+libmonoruntimesgen_la_CFLAGS = $(SGEN_DEFINES)
 
 libmonoruntimeincludedir = $(includedir)/mono-$(API_VER)/mono/metadata
 
@@ -199,6 +260,7 @@ libmonoruntimeinclude_HEADERS = \
        mono-config.h           \
        mono-debug.h            \
        mono-gc.h               \
+       sgen-bridge.h           \
        object.h                \
        opcodes.h               \
        profiler.h              \
@@ -219,15 +281,20 @@ else
 PEDUMP_DTRACE_OBJECT = 
 endif
 
+if SHARED_MONO
+if SUPPORT_BOEHM
 pedump_SOURCES =               \
        pedump.c
 
 pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
-       $(LIBGC_LIBS) $(GLIB_LIBS) -lm $(PEDUMP_DTRACE_OBJECT)
+       $(LIBGC_LIBS) $(GLIB_LIBS) -lm $(LIBICONV) $(PEDUMP_DTRACE_OBJECT)
 
 if PLATFORM_DARWIN
 pedump_LDFLAGS=-framework CoreFoundation
 endif
+endif
+endif
 
-EXTRA_DIST = make-bundle.pl sample-bundle $(win32_sources) $(unix_sources) $(null_sources) $(sgen_sources) runtime.h
+EXTRA_DIST = make-bundle.pl sample-bundle $(win32_sources) $(unix_sources) $(null_sources) $(sgen_sources) runtime.h \
+               tpool-poll.c tpool-epoll.c tpool-kqueue.c