hwloc: null check for cpuset
[mpich-dev.git] / examples / Makefile.am
1 # -*- Mode: Makefile; -*-
2 # vim: set ft=automake :
3 #
4 # (C) 2011 by Argonne National Laboratory.
5 #     See COPYRIGHT in top-level directory.
6 #
7
8 # FIXME should these be prefixed with AM_ under automake?  Should we cut some or
9 # all of these?
10 MPICHDIR=..
11 #CC       = $(MPICHDIR)/bin/mpicc
12 AM_CFLAGS   = $(WRAPPER_CFLAGS)
13 CXXFLAGS = $(WRAPPER_CXXFLAGS)
14 FFLAGS   = $(WRAPPER_FFLAGS)
15 FCFLAGS  = $(WRAPPER_FCFLAGS)
16 AM_LDFLAGS  =
17 AM_CPPFLAGS = $(WRAPPER_CPPFLAGS)
18 #DEFS     = 
19
20 AM_CPPFLAGS += -I$(top_builddir)/src/include -I${top_srcdir}/src/include
21 if BUILD_ROMIO
22 AM_CPPFLAGS += -I$(top_builddir)/src/mpi/romio/include -I${top_srcdir}/mpi/romio/include/include
23 endif BUILD_ROMIO
24
25 cpi_DEPENDENCIES =
26
27 # This directory of examples conceptually lives "outside" of the real MPICH
28 # build and so we add "-lblah" for MPICH libs instead of specifying
29 # "../lib/libblah.la" (this invocation of make has no way to cause it to be
30 # rebuilt).
31 #
32 # FIXME we add the core MPICH libs explicitly to cpi_DEPENDENCIES to force cpi
33 # to get rebuilt whenever MPICH's core libraries are rebuilt, but perhaps there
34 # is a better system?
35
36 # the make-time instances of libpmpi.la and libmpi.la live here
37 AM_LDFLAGS += -L../lib
38 # the make-time instances of libmpl.la and libopa.la live here
39 AM_LDFLAGS += @mpllibdir@ @opalibdir@
40
41 # Wrapper LDFLAGS need to be added at the end to make sure we link
42 # with the libraries we just built, and not any previously installed
43 # libraries.
44 AM_LDFLAGS += $(WRAPPER_LDFLAGS)
45
46 external_libs = $(WRAPPER_LIBS)
47 if BUILD_PROFILING_LIB
48 LIBS += -l@PMPILIBNAME@
49 cpi_DEPENDENCIES += ../lib/lib@PMPILIBNAME@.la
50 endif BUILD_PROFILING_LIB
51 LIBS += -l@MPILIBNAME@ $(external_libs)
52 cpi_DEPENDENCIES += ../lib/lib@MPILIBNAME@.la
53
54
55 noinst_PROGRAMS = cpi
56
57 # pmandel requires a separate set of socket calls (its a long story)
58 # and may not build on most platforms
59 EXTRA_PROGRAMS = pmandel pmandel_spawn pmandel_service pmandel_spaserv    \
60                  pmandel_fence hellow icpi ircpi parent child srtest \
61                  spawn_merge_parent spawn_merge_child1 spawn_merge_child2
62
63 # LIBS includes -lmpich and other libraries (e.g., -lpmpich if
64 # weak symbols are not supported)
65 # FIXME is the above true under automake?
66 hellow_SOURCES = hellow.c
67 srtest_SOURCES = srtest.c
68 child_SOURCES = child.c
69 parent_SOURCES = parent.c
70
71 # "cpi" is special, we always build it at the end of the regular "make" process
72 # and its main purpose is to catch missing symbol link-time errors before any
73 # tests are run.  So we add "-static" to its LDFLAGS in order to force this
74 # symbol resolution at build time instead of deferring it to run time as would
75 # occur in dynamic linking.
76 #
77 # TODO need to check that this works correctly if "--enable-shared
78 # --disable-static" is passed to configure.
79 cpi_SOURCES = cpi.c
80 cpi_LDADD = -lm
81 cpi_LDFLAGS = $(AM_LDFLAGS) $(mpich_libtool_static_flag)
82
83 icpi_SOURCES = icpi.c
84 icpi_LDADD = -lm
85 ircpi_SOURCES = ircpi.c
86 ircpi_LDADD = -lm
87 pmandel_SOURCES = pmandel.c
88 pmandel_LDADD = -lm
89 pmandel_spawn_SOURCES = pmandel_spawn.c
90 pmandel_spawn_LDADD = -lm
91 pmandel_service_SOURCES = pmandel_service.c
92 pmandel_service_LDADD = -lm
93 pmandel_spaserv_SOURCES = pmandel_spaserv.c
94 pmandel_spaserv_LDADD = -lm
95 pmandel_fence_SOURCES = pmandel_fence.c
96 pmandel_fence_LDADD = -lm
97 spawn_merge_parent_SOURCES = spawn_merge_parent.c
98 spawn_merge_child1_SOURCES = spawn_merge_child1.c
99 spawn_merge_child2_SOURCES = spawn_merge_child2.c