Home | History | Annotate | Download | only in memcheck
      1 include $(top_srcdir)/Makefile.tool.am
      2 
      3 EXTRA_DIST = docs/mc-manual.xml docs/mc-tech-docs.xml
      4 
      5 #----------------------------------------------------------------------------
      6 # Headers
      7 #----------------------------------------------------------------------------
      8 
      9 pkginclude_HEADERS = \
     10 	memcheck.h
     11 
     12 noinst_HEADERS = \
     13 	mc_include.h
     14 
     15 #----------------------------------------------------------------------------
     16 # memcheck-<platform>
     17 #----------------------------------------------------------------------------
     18 
     19 noinst_PROGRAMS  = memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@
     20 if VGCONF_HAVE_PLATFORM_SEC
     21 noinst_PROGRAMS += memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@
     22 endif
     23 
     24 MEMCHECK_SOURCES_COMMON = \
     25 	mc_leakcheck.c \
     26 	mc_malloc_wrappers.c \
     27 	mc_main.c \
     28 	mc_translate.c \
     29 	mc_machine.c \
     30 	mc_errors.c
     31 
     32 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES      = \
     33 	$(MEMCHECK_SOURCES_COMMON)
     34 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS     = \
     35 	$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
     36 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS       = \
     37 	$(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -O2
     38 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
     39 	$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
     40 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD        = \
     41 	$(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
     42 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS      = \
     43 	$(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
     44 memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
     45 	$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
     46 	@VALT_LOAD_ADDRESS_PRI@ \
     47 	$(LINK) \
     48 	$(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
     49 	$(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
     50 
     51 if VGCONF_HAVE_PLATFORM_SEC
     52 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES      = \
     53 	$(MEMCHECK_SOURCES_COMMON)
     54 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS     = \
     55 	$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
     56 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS       = \
     57 	$(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -O2
     58 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
     59 	$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
     60 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD        = \
     61 	$(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
     62 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS      = \
     63 	$(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
     64 memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
     65 	$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
     66 	@VALT_LOAD_ADDRESS_SEC@ \
     67 	$(LINK) \
     68 	$(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
     69 	$(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
     70 endif
     71 
     72 # mc_main.c contains the helper function for memcheck that get called
     73 # all the time. To maximise performance compile with -fomit-frame-pointer
     74 # Primary beneficiary is x86.
     75 mc_main.o: CFLAGS += -fomit-frame-pointer
     76 
     77 #----------------------------------------------------------------------------
     78 # vgpreload_memcheck-<platform>.so
     79 #----------------------------------------------------------------------------
     80 
     81 noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
     82 if VGCONF_HAVE_PLATFORM_SEC
     83 noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
     84 endif
     85 
     86 if VGCONF_OS_IS_DARWIN
     87 noinst_DSYMS = $(noinst_PROGRAMS)
     88 endif
     89 
     90 VGPRELOAD_MEMCHECK_SOURCES_COMMON = mc_replace_strmem.c
     91 
     92 vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES      = \
     93 	$(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
     94 vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS     = \
     95 	$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
     96 vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS       = \
     97 	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) -O2
     98 vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
     99 	$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
    100 vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS      = \
    101 	$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
    102 	$(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
    103 
    104 if VGCONF_HAVE_PLATFORM_SEC
    105 vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES      = \
    106 	$(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
    107 vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS     = \
    108 	$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
    109 vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS       = \
    110 	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) -O2
    111 vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
    112 	$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
    113 vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS      = \
    114 	$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
    115 	$(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
    116 endif
    117 
    118 # mc_replace_strmem.c runs on the simulated CPU, and it often appears
    119 # in stack traces shown to the user.  It is built with
    120 # -fno-omit-frame-pointer so as to guarantee robust backtraces on x86,
    121 # on which CFI based unwinding is not the "normal" case and so is
    122 # sometimes fragile.
    123 mc_replace_strmem.o: CFLAGS += -fno-omit-frame-pointer
    124 
    125