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## will define $smpd_sock_src and $smpd_sock_hdrs 9include $(top_srcdir)/src/pm/smpd/sock/Makefile.mk 10 11if BUILD_PM_SMPD 12 13other_smpd_src = \ 14 src/pm/smpd/smpd_hash.c \ 15 src/pm/smpd/smpd_authenticate.c \ 16 src/pm/smpd/smpd_printf.c \ 17 src/pm/smpd/smpd_read_write.c \ 18 src/pm/smpd/smpd_user_data.c \ 19 src/pm/smpd/smpd_connect.c \ 20 src/pm/smpd/smpd_get_opt.c \ 21 src/pm/smpd/smpd_launch_process.c \ 22 src/pm/smpd/smpd_command.c \ 23 src/pm/smpd/smpd_database.c \ 24 src/pm/smpd/smpd_state_machine.c \ 25 src/pm/smpd/smpd_handle_command.c \ 26 src/pm/smpd/smpd_session.c \ 27 src/pm/smpd/smpd_start_mgr.c \ 28 src/pm/smpd/smpd_barrier.c \ 29 src/pm/smpd/smpd_do_console.c \ 30 src/pm/smpd/smpd_restart.c \ 31 src/pm/smpd/smpd_host_util.c \ 32 src/pm/smpd/smpd_handle_spawn.c \ 33 $(smpd_sock_src) 34 35# these files appear to be unused in the old simplemake-based UNIX build system 36smpd_win_src = \ 37 src/pm/smpd/smpd_job.c \ 38 src/pm/smpd/smpd_mapdrive.c \ 39 src/pm/smpd/smpd_register.c \ 40 src/pm/smpd/smpd_ad.cpp \ 41 src/pm/smpd/smpd_affinitize.c \ 42 src/pm/smpd/smpd_ccp_util.c \ 43 src/pm/smpd/smpd_hpc_js_rmk.cpp \ 44 src/pm/smpd/smpd_hpc_js_bs.cpp \ 45 src/pm/smpd/smpd_hpc_js_util.cpp 46 47if PRIMARY_PM_SMPD 48 49## SMPD is built in a totally disgusting way, in the sense that it links 50## directly against libmpich and the other libraries that make up the core of 51## MPICH2. This is slightly easier to manage now in the flattened automake 52## implementation, but the real fix is that SMPD shouldn't be using 53## MPICH2-interal routines directly. Linking against only MPL makes much more 54## sense. 55 56# this shouldn't be necessary, ideally, but the smpd PMI impl wants to 57# use symbols from the smpd PM impl 58lib_lib@MPILIBNAME@_la_SOURCES += $(other_smpd_src) 59 60bin_PROGRAMS += src/pm/smpd/mpiexec src/pm/smpd/smpd 61src_pm_smpd_mpiexec_SOURCES = src/pm/smpd/mpiexec.c \ 62 src/pm/smpd/mp_parse_command_line.c \ 63 src/pm/smpd/mp_parse_oldconfig.c \ 64 src/pm/smpd/mpiexec_rsh.c 65src_pm_smpd_mpiexec_LDADD = lib/lib@MPILIBNAME@.la $(external_libs) 66src_pm_smpd_mpiexec_LDFLAGS = $(external_ldflags) 67 68src_pm_smpd_smpd_SOURCES = src/pm/smpd/smpd.c \ 69 src/pm/smpd/smpd_cmd_args.c \ 70 src/pm/smpd/smpd_watchprocs.c 71src_pm_smpd_smpd_LDADD = lib/lib@MPILIBNAME@.la $(external_libs) 72src_pm_smpd_smpd_LDFLAGS = $(external_ldflags) 73 74noinst_HEADERS += $(smpd_sock_hdrs) src/pm/smpd/sock/include/smpd_util_sock.h 75# should this go into a per-target _CPPFLAGS var instead for greater safety? 76AM_CPPFLAGS += -I$(top_srcdir)/src/pm/smpd \ 77 -I$(top_srcdir)/src/pm/smpd/sock/include \ 78 $(smpd_sock_cppflags) 79 80else !PRIMARY_PM_SMPD 81## TODO we currently do not handle this case 82endif !PRIMARY_PM_SMPD 83 84endif BUILD_PM_SMPD 85 86