Blob Blame History Raw
## -*- Mode: Makefile; -*-
## vim: set ft=automake :
##
## (C) 2011 by Argonne National Laboratory.
##     See COPYRIGHT in top-level directory.
##

# all of these routines are internal, nothing gets added to mpi_sources

if BUILD_DEBUGGER_DLL

noinst_HEADERS += src/mpi/debugger/mpich_dll_defs.h

# workaround the fact that autoconf is missing per-object flags by using a dummy
# convenience library that isn't installed
noinst_LTLIBRARIES += src/mpi/debugger/libdbginitdummy.la
src_mpi_debugger_libdbginitdummy_la_SOURCES = src/mpi/debugger/dbginit.c
src_mpi_debugger_libdbginitdummy_la_CFLAGS = -g
pmpi_convenience_libs += $(top_builddir)/src/mpi/debugger/libdbginitdummy.la

lib_LTLIBRARIES += lib/libtvmpich.la
# There is no static debugger interface library
lib_libtvmpich_la_SOURCES = src/mpi/debugger/dll_mpich.c
lib_libtvmpich_la_CFLAGS = -g
lib_libtvmpich_la_LDFLAGS = -g $(ABIVERSIONFLAGS)

# tvtest builds a main program that uses the routines in dll_mpich to 
# access the internal structure of an MPICH program.  This is only a partial
# test, but it allows a developer to check out the basic functioning of 
# dll_mpich (but without loading it).
#
# NB: these tests can only be built *after* a "make install" step.  They must be
# built explicitly
tvtest_objs = src/mpi/debugger/tvtest.o src/mpi/debugger/dbgstub.o
src/mpi/debugger/tvtest: $(tvtest_objs)
	$(bindir)/mpicc -o $@ $(tvtest_objs) -ltvmpich

src/mpi/debugger/tvtest.o: src/mpi/debugger/tvtest.c
	$(bindir)/mpicc -c -o $@ $?

# no rule for dbgstub.o, it needs to be built by suffix rules in the usual
# fashion because it needs direct access to MPICH internal headers

src/mpi/debugger/qdemo: src/mpi/debugger/qdemo.c
	$(bindir)/mpicc -o $@ $?

src/mpi/debugger/allcommdbg: src/mpi/debugger/allcommdbg.c
	$(bindir)/mpicc -o $@ $?

endif BUILD_DEBUGGER_DLL