AM_CFLAGS = -O
PLATFORM_LIB = ../os/libmonoos.la
else
-assembliesdir = $(libdir)
+assembliesdir = $(exec_prefix)/lib
confdir = $(sysconfdir)
endif
-bin_PROGRAMS = pedump
+bin_PROGRAMS = pedump monodiet
-noinst_LTLIBRARIES = libmetadata.la libmonoruntime.la
+#
+# 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
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(ICU_CFLAGS) \
-DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
-if WITH_BUNDLE
-bundle_srcs = mono-bundle.s mono-bundle.h
-bundle_obj = mono-bundle.o
-#BUILT_SOURCES = $(bundle_srcs)
-
-$(bundle_obj): $(bundle_srcs)
-$(bundle_srcs): mono-bundle.stamp
- @if test -f $@; then :; else rm -f mono-bundle.stamp; $(MAKE) mono-bundle.stamp; fi
-mono-bundle.stamp: $(BUNDLE_FILE) $(srcdir)/make-bundle.pl
- echo stamp > $@t
- perl $(srcdir)/make-bundle.pl $(BUNDLE_FILE) mono-bundle.h mono-bundle.s
- mv $@t $@
-
-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
CLEANFILES = mono-bundle.stamp
-libmonoruntime_la_LIBADD = $(PLATFORM_LIB)
-libmetadata_la_LIBADD = $(bundle_obj) $(PLATFORM_LIB)
+libmonoruntime_static_la_LIBADD = $(bundle_obj) $(PLATFORM_LIB) $(libmonoruntime_la_LIBADD)
libmonoruntime_la_SOURCES = \
reflection.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 \
+ tabledefs.h \
threads.c \
threads-types.h \
threadpool.c \
threadpool.h \
+ threadpool-internals.h \
file-io.c \
file-io.h \
socket-io.c \
filewatcher.c \
filewatcher.h \
culture-info.h \
- culture-info-tables.h
-
-libmetadata_la_SOURCES = \
+ 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 \
metadata-internals.h \
verify.c \
mono-endian.h \
mono-config.c \
mono-config.h \
- private.h \
rawbuffer.c \
rawbuffer.h \
loader.c \
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 \
mono-debug-debugger.h \
debug-mono-symfile.h \
threads.h \
- environment.h
-
-libmetadatainclude_HEADERS = \
+ environment.h \
assembly.h \
opcodes.h \
blob.h \
pedump_SOURCES = \
pedump.c
-pedump_LDADD = libmetadata.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
+pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
+ $(PLATFORM_LIB) \
$(LIBGC_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) -lm
+monodiet_SOURCES = monodiet.c
+
+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