## DO NOT EDIT
## This file created by buildiface 
##
## vim: set ft=automake :

# ensure that the buildiface script ends up in the release tarball
EXTRA_DIST += src/binding/f77/buildiface

# FIXME need to add proper rules to rebuild the fortran sources generated by
# buildiface when buildiface is updated
if MAINTAINER_MODE
$(top_srcdir)/src/binding/f77/Makefile.mk: src/binding/f77/buildiface-stamp

src/binding/f77/buildiface-stamp: $(top_srcdir)/src/binding/f77/buildiface $(top_srcdir)/src/include/mpi.h.in
	( cd $(top_srcdir)/src/binding/f77 && ./buildiface )
endif MAINTAINER_MODE

mpi_f77_sources =
if BUILD_F77_BINDING
mpi_f77_sources += src/binding/f77/sendf.c src/binding/f77/recvf.c \
	src/binding/f77/get_countf.c src/binding/f77/bsendf.c \
	src/binding/f77/ssendf.c src/binding/f77/rsendf.c \
	src/binding/f77/bufattachf.c src/binding/f77/bufdetachf.c \
	src/binding/f77/isendf.c src/binding/f77/ibsendf.c \
	src/binding/f77/issendf.c src/binding/f77/irsendf.c \
	src/binding/f77/irecvf.c src/binding/f77/waitf.c \
	src/binding/f77/testf.c src/binding/f77/request_freef.c \
	src/binding/f77/waitanyf.c src/binding/f77/testanyf.c \
	src/binding/f77/waitallf.c src/binding/f77/testallf.c \
	src/binding/f77/waitsomef.c src/binding/f77/testsomef.c \
	src/binding/f77/iprobef.c src/binding/f77/probef.c \
	src/binding/f77/cancelf.c src/binding/f77/testcancelf.c \
	src/binding/f77/send_initf.c src/binding/f77/bsend_initf.c \
	src/binding/f77/ssend_initf.c src/binding/f77/rsend_initf.c \
	src/binding/f77/recv_initf.c src/binding/f77/startf.c \
	src/binding/f77/startallf.c src/binding/f77/sendrecvf.c \
	src/binding/f77/sndrcvrplf.c src/binding/f77/typecontigf.c \
	src/binding/f77/type_vectorf.c src/binding/f77/type_hvectorf.c \
	src/binding/f77/type_indexedf.c src/binding/f77/type_hindexedf.c \
	src/binding/f77/type_structf.c src/binding/f77/type_extentf.c \
	src/binding/f77/type_sizef.c src/binding/f77/type_lbf.c \
	src/binding/f77/type_ubf.c src/binding/f77/type_commitf.c \
	src/binding/f77/type_freef.c src/binding/f77/get_elementsf.c \
	src/binding/f77/packf.c src/binding/f77/unpackf.c \
	src/binding/f77/pack_sizef.c src/binding/f77/barrierf.c \
	src/binding/f77/bcastf.c src/binding/f77/gatherf.c \
	src/binding/f77/gathervf.c src/binding/f77/scatterf.c \
	src/binding/f77/scattervf.c src/binding/f77/allgatherf.c \
	src/binding/f77/allgathervf.c src/binding/f77/alltoallf.c \
	src/binding/f77/alltoallvf.c src/binding/f77/alltoallwf.c \
	src/binding/f77/exscanf.c src/binding/f77/reducef.c \
	src/binding/f77/op_createf.c src/binding/f77/op_freef.c \
	src/binding/f77/allreducef.c src/binding/f77/redscatf.c \
	src/binding/f77/scanf.c src/binding/f77/group_sizef.c \
	src/binding/f77/group_rankf.c src/binding/f77/grouptranksf.c \
	src/binding/f77/group_comparef.c src/binding/f77/comm_groupf.c \
	src/binding/f77/group_unionf.c src/binding/f77/groupinterf.c \
	src/binding/f77/groupdifff.c src/binding/f77/group_inclf.c \
	src/binding/f77/group_exclf.c src/binding/f77/grouprinclf.c \
	src/binding/f77/grouprexclf.c src/binding/f77/group_freef.c \
	src/binding/f77/comm_sizef.c src/binding/f77/comm_rankf.c \
	src/binding/f77/comm_comparef.c src/binding/f77/comm_dupf.c \
	src/binding/f77/comm_dup_with_infof.c src/binding/f77/comm_createf.c \
	src/binding/f77/comm_splitf.c src/binding/f77/comm_freef.c \
	src/binding/f77/commtesticf.c src/binding/f77/commrsizef.c \
	src/binding/f77/commrgroupf.c src/binding/f77/iccreatef.c \
	src/binding/f77/icmergef.c src/binding/f77/keyval_freef.c \
	src/binding/f77/attr_putf.c src/binding/f77/attr_getf.c \
	src/binding/f77/attr_deletef.c src/binding/f77/topo_testf.c \
	src/binding/f77/cart_createf.c src/binding/f77/dims_createf.c \
	src/binding/f77/graph_createf.c src/binding/f77/graphdims_getf.c \
	src/binding/f77/graph_getf.c src/binding/f77/cartdim_getf.c \
	src/binding/f77/cart_getf.c src/binding/f77/cart_rankf.c \
	src/binding/f77/cart_coordsf.c src/binding/f77/grfnbcountf.c \
	src/binding/f77/grfnbrsf.c src/binding/f77/cart_shiftf.c \
	src/binding/f77/cart_subf.c src/binding/f77/cart_mapf.c \
	src/binding/f77/graph_mapf.c src/binding/f77/getpnamef.c \
	src/binding/f77/get_versionf.c src/binding/f77/get_library_versionf.c \
	src/binding/f77/errhcreatef.c src/binding/f77/errhsetf.c \
	src/binding/f77/errhgetf.c src/binding/f77/errhfreef.c \
	src/binding/f77/error_stringf.c src/binding/f77/error_classf.c \
	src/binding/f77/finalizef.c src/binding/f77/initializedf.c \
	src/binding/f77/abortf.c src/binding/f77/close_portf.c \
	src/binding/f77/comm_acceptf.c src/binding/f77/comm_connectf.c \
	src/binding/f77/commdiscf.c src/binding/f77/commparentf.c \
	src/binding/f77/comm_joinf.c src/binding/f77/comm_spawnf.c \
	src/binding/f77/spawnmultf.c src/binding/f77/lookup_namef.c \
	src/binding/f77/open_portf.c src/binding/f77/publish_namef.c \
	src/binding/f77/unpubnamef.c src/binding/f77/comm_set_infof.c \
	src/binding/f77/comm_get_infof.c src/binding/f77/accumulatef.c \
	src/binding/f77/getf.c src/binding/f77/putf.c \
	src/binding/f77/win_completef.c src/binding/f77/win_createf.c \
	src/binding/f77/win_fencef.c src/binding/f77/win_freef.c \
	src/binding/f77/win_get_groupf.c src/binding/f77/win_lockf.c \
	src/binding/f77/win_postf.c src/binding/f77/win_startf.c \
	src/binding/f77/win_testf.c src/binding/f77/win_unlockf.c \
	src/binding/f77/win_waitf.c src/binding/f77/win_allocatef.c \
	src/binding/f77/win_allocate_sharedf.c \
	src/binding/f77/win_shared_queryf.c \
	src/binding/f77/win_create_dynamicf.c src/binding/f77/win_attachf.c \
	src/binding/f77/win_detachf.c src/binding/f77/win_get_infof.c \
	src/binding/f77/win_set_infof.c src/binding/f77/get_accumulatef.c \
	src/binding/f77/fetch_and_opf.c src/binding/f77/compare_and_swapf.c \
	src/binding/f77/rputf.c src/binding/f77/rgetf.c \
	src/binding/f77/raccumulatef.c src/binding/f77/rget_accumulatef.c \
	src/binding/f77/win_lock_allf.c src/binding/f77/win_unlock_allf.c \
	src/binding/f77/win_flushf.c src/binding/f77/win_flush_allf.c \
	src/binding/f77/win_flush_localf.c \
	src/binding/f77/win_flush_local_allf.c src/binding/f77/win_syncf.c \
	src/binding/f77/adderrclassf.c src/binding/f77/adderrcodef.c \
	src/binding/f77/adderrstringf.c src/binding/f77/commcallerrf.c \
	src/binding/f77/commnewkeyf.c src/binding/f77/commdelattrf.c \
	src/binding/f77/commfreekeyf.c src/binding/f77/comm_get_attrf.c \
	src/binding/f77/commgetnamf.c src/binding/f77/comm_set_attrf.c \
	src/binding/f77/comm_set_namef.c src/binding/f77/filecallerrf.c \
	src/binding/f77/greqcompletef.c src/binding/f77/greqstartf.c \
	src/binding/f77/isthrmainf.c src/binding/f77/query_threadf.c \
	src/binding/f77/statgetclf.c src/binding/f77/statsetelf.c \
	src/binding/f77/typenewkeyf.c src/binding/f77/typedelattrf.c \
	src/binding/f77/type_dupf.c src/binding/f77/typefreekeyf.c \
	src/binding/f77/type_get_attrf.c src/binding/f77/typegetcntsf.c \
	src/binding/f77/typegetenvf.c src/binding/f77/typegnamef.c \
	src/binding/f77/typesetattrf.c src/binding/f77/typesetnamef.c \
	src/binding/f77/type_match_sizef.c src/binding/f77/wincallerrf.c \
	src/binding/f77/winnewkeyf.c src/binding/f77/windelattrf.c \
	src/binding/f77/winfreekeyf.c src/binding/f77/win_get_attrf.c \
	src/binding/f77/win_get_namef.c src/binding/f77/win_set_attrf.c \
	src/binding/f77/win_set_namef.c src/binding/f77/alloc_memf.c \
	src/binding/f77/commcreerrf.c src/binding/f77/commgeterrf.c \
	src/binding/f77/commseterrf.c src/binding/f77/filecreerrf.c \
	src/binding/f77/filegeterrf.c src/binding/f77/fileseterrf.c \
	src/binding/f77/finalizedf.c src/binding/f77/free_memf.c \
	src/binding/f77/info_createf.c src/binding/f77/info_deletef.c \
	src/binding/f77/info_dupf.c src/binding/f77/info_freef.c \
	src/binding/f77/info_getf.c src/binding/f77/infognkf.c \
	src/binding/f77/infognthkf.c src/binding/f77/infovallenf.c \
	src/binding/f77/info_setf.c src/binding/f77/pack_externalf.c \
	src/binding/f77/packesizef.c src/binding/f77/reqgetstatf.c \
	src/binding/f77/typedarrayf.c src/binding/f77/typechindf.c \
	src/binding/f77/typechvecf.c src/binding/f77/typecindbf.c \
	src/binding/f77/type_create_hindexed_blockf.c \
	src/binding/f77/typecresizef.c src/binding/f77/typecstructf.c \
	src/binding/f77/typecsubarrf.c src/binding/f77/typegetextentf.c \
	src/binding/f77/typegtextf.c src/binding/f77/unpackextf.c \
	src/binding/f77/wincreerrf.c src/binding/f77/wingeterrf.c \
	src/binding/f77/winseterrf.c src/binding/f77/reduce_localf.c \
	src/binding/f77/op_commutativef.c \
	src/binding/f77/reduce_scatter_blockf.c \
	src/binding/f77/dist_graph_create_adjacentf.c \
	src/binding/f77/dist_graph_createf.c \
	src/binding/f77/dist_graph_neighbors_countf.c \
	src/binding/f77/dist_graph_neighborsf.c src/binding/f77/improbef.c \
	src/binding/f77/imrecvf.c src/binding/f77/mprobef.c \
	src/binding/f77/mrecvf.c src/binding/f77/comm_idupf.c \
	src/binding/f77/ibarrierf.c src/binding/f77/ibcastf.c \
	src/binding/f77/igatherf.c src/binding/f77/igathervf.c \
	src/binding/f77/iscatterf.c src/binding/f77/iscattervf.c \
	src/binding/f77/iallgatherf.c src/binding/f77/iallgathervf.c \
	src/binding/f77/ialltoallf.c src/binding/f77/ialltoallvf.c \
	src/binding/f77/ialltoallwf.c src/binding/f77/ireducef.c \
	src/binding/f77/iallreducef.c src/binding/f77/ireduce_scatterf.c \
	src/binding/f77/ireduce_scatter_blockf.c src/binding/f77/iscanf.c \
	src/binding/f77/iexscanf.c src/binding/f77/ineighbor_allgatherf.c \
	src/binding/f77/ineighbor_allgathervf.c \
	src/binding/f77/ineighbor_alltoallf.c \
	src/binding/f77/ineighbor_alltoallvf.c \
	src/binding/f77/ineighbor_alltoallwf.c \
	src/binding/f77/neighbor_allgatherf.c \
	src/binding/f77/neighbor_allgathervf.c \
	src/binding/f77/neighbor_alltoallf.c \
	src/binding/f77/neighbor_alltoallvf.c \
	src/binding/f77/neighbor_alltoallwf.c \
	src/binding/f77/comm_split_typef.c src/binding/f77/get_elements_xf.c \
	src/binding/f77/status_set_elements_xf.c \
	src/binding/f77/type_get_extent_xf.c \
	src/binding/f77/type_get_true_extent_xf.c \
	src/binding/f77/type_size_xf.c src/binding/f77/comm_create_groupf.c \
	src/binding/f77/comm_group_failedf.c \
	src/binding/f77/comm_remote_group_failedf.c \
	src/binding/f77/comm_reenable_anysourcef.c src/binding/f77/file_openf.c \
	src/binding/f77/file_closef.c src/binding/f77/file_deletef.c \
	src/binding/f77/file_set_sizef.c src/binding/f77/file_preallocatef.c \
	src/binding/f77/file_get_sizef.c src/binding/f77/file_get_groupf.c \
	src/binding/f77/file_get_amodef.c src/binding/f77/file_set_infof.c \
	src/binding/f77/file_get_infof.c src/binding/f77/file_set_viewf.c \
	src/binding/f77/file_get_viewf.c src/binding/f77/file_read_atf.c \
	src/binding/f77/file_read_at_allf.c src/binding/f77/file_write_atf.c \
	src/binding/f77/file_write_at_allf.c src/binding/f77/file_iread_atf.c \
	src/binding/f77/file_iwrite_atf.c src/binding/f77/file_readf.c \
	src/binding/f77/file_read_allf.c src/binding/f77/file_writef.c \
	src/binding/f77/file_write_allf.c src/binding/f77/file_ireadf.c \
	src/binding/f77/file_iwritef.c src/binding/f77/file_seekf.c \
	src/binding/f77/file_get_positionf.c \
	src/binding/f77/file_get_byte_offsetf.c \
	src/binding/f77/file_read_sharedf.c \
	src/binding/f77/file_write_sharedf.c \
	src/binding/f77/file_iread_sharedf.c \
	src/binding/f77/file_iwrite_sharedf.c \
	src/binding/f77/file_read_orderedf.c \
	src/binding/f77/file_write_orderedf.c \
	src/binding/f77/file_seek_sharedf.c \
	src/binding/f77/file_get_position_sharedf.c \
	src/binding/f77/file_read_at_all_beginf.c \
	src/binding/f77/file_read_at_all_endf.c \
	src/binding/f77/file_write_at_all_beginf.c \
	src/binding/f77/file_write_at_all_endf.c \
	src/binding/f77/file_read_all_beginf.c \
	src/binding/f77/file_read_all_endf.c \
	src/binding/f77/file_write_all_beginf.c \
	src/binding/f77/file_write_all_endf.c \
	src/binding/f77/file_read_ordered_beginf.c \
	src/binding/f77/file_read_ordered_endf.c \
	src/binding/f77/file_write_ordered_beginf.c \
	src/binding/f77/file_write_ordered_endf.c \
	src/binding/f77/file_get_type_extentf.c \
	src/binding/f77/register_datarepf.c \
	src/binding/f77/file_set_atomicityf.c \
	src/binding/f77/file_get_atomicityf.c src/binding/f77/file_syncf.c \
	src/binding/f77/initf.c src/binding/f77/initthreadf.c \
	src/binding/f77/pcontrolf.c src/binding/f77/addressf.c \
	src/binding/f77/getaddressf.c src/binding/f77/wtimef.c \
	src/binding/f77/wtickf.c src/binding/f77/keyval_createf.c \
	src/binding/f77/dup_fnf.c src/binding/f77/null_del_fnf.c \
	src/binding/f77/null_copy_fnf.c src/binding/f77/dup_comm_fnf.c \
	src/binding/f77/null_comm_del_fnf.c \
	src/binding/f77/null_comm_copy_fnf.c src/binding/f77/dup_win_fnf.c \
	src/binding/f77/null_win_del_fnf.c src/binding/f77/null_win_copy_fnf.c \
	src/binding/f77/dup_type_fnf.c src/binding/f77/null_type_del_fnf.c \
	src/binding/f77/null_type_copy_fnf.c src/binding/f77/statusf2c.c \
	src/binding/f77/statusc2f.c 

lib_LTLIBRARIES += lib/lib@FWRAPNAME@.la
lib_lib@FWRAPNAME@_la_CFLAGS = $(AM_CFLAGS) -DMPICH_MPI_FROM_PMPI -DUSE_ONLY_MPI_NAMES
lib_lib@FWRAPNAME@_la_SOURCES = $(mpi_f77_sources)
lib_lib@FWRAPNAME@_la_LDFLAGS = $(ABIVERSIONFLAGS)

# FIXME tension here: MPIFLIBNAME is always "mpich", so we don't want to
# clobber flags set by other parts of MPICH, and we don't want to re-add that
# lib to the lib_LTLIBRARIES list
#lib_LTLIBRARIES += lib/lib@MPIFLIBNAME@.la
#lib_lib@MPIFLIBNAME@_la_SOURCES = $(mpi_f77_sources) src/binding/f77/setbot.c src/binding/f77/setbotf.f src/binding/f77/fdebug.c
#lib_lib@MPIFLIBNAME@_la_CPPFLAGS = -I${master_top_srcdir}/src/binding/f77
lib_lib@MPILIBNAME@_la_SOURCES += $(mpi_f77_sources) src/binding/f77/fdebug.c

# these files are created by config.status from ".in" files
nodist_lib_lib@MPILIBNAME@_la_SOURCES += src/binding/f77/setbot.c src/binding/f77/setbotf.f

# FIXME does AM_CPPFLAGS need to be included elsewhere somehow in the
# target-specific variable?
AM_CPPFLAGS += -I${master_top_srcdir}/src/binding/f77


noinst_HEADERS += src/binding/f77/fproto.h src/binding/f77/mpi_fortimpl.h

if BUILD_PROFILING_LIB
# FIXME tension here: PMPIFLIBNAME is always "pmpich", so we don't want to
# clobber flags set by other parts of MPICH, and we don't want to re-add that
# lib to the lib_LTLIBRARIES list
#lib_LTLIBRARIES += lib/lib@PMPIFLIBNAME@.la
#lib_lib@PMPIFLIBNAME@_la_SOURCES += $(mpi_f77_sources)
#lib_lib@PMPIFLIBNAME@_la_CPPFLAGS += -I${master_top_srcdir}/src/binding/f77
lib_lib@PMPILIBNAME@_la_SOURCES += $(mpi_f77_sources)
#lib_lib@PMPILIBNAME@_la_CPPFLAGS += -I${master_top_srcdir}/src/binding/f77
endif BUILD_PROFILING_LIB

# config.status copies src/binding/f77/mpif.h to src/include (see the relevant
# AC_OUTPUT_COMMANDS in configure.ac), so we need to delete it at distclean time
# too.  More work is needed in this Makefile.mk to keep src/include/mpif.h up to
# date w.r.t. the src/binding/f77 version.
DISTCLEANFILES += src/binding/f77/mpif.h src/include/mpif.h
nodist_include_HEADERS += src/binding/f77/mpif.h

# FIXME disabled for now, need to re-enable it the "autotools way"
## Documentation sources
#doc_sources = mpif77.txt
#DOCDESTDIRS = html:www/www1,man:man/man1,latex:doc/refman
#doc_HTML_SOURCES  = ${doc_sources}
#doc_MAN_SOURCES   = ${doc_sources}
#doc_LATEX_SOURCES = ${doc_sources}

endif BUILD_F77_BINDING

