#include "../../config"

/*
 * Imakefile to generate Fortran Interface for Tape
 * it is directly adapted from PVM's Makefile.aimk 
 */

/* your make needs patterns matching rules (if you
 * encounter problems, use gnumake)
 */

THISLIB = ftape

INCLUDES = -I$(TOP)/include -I$(PVM_ROOT)/include \
	   -I$(PVM_SRC_ROOT)/libfpvm

DEFINES = -D$(TAPE_PVM_VERSION) -D$(PVM_ARCH)

/* RM = rm -f */
M4 = m4
M4FILE	= $(PVM_SRC_ROOT)/conf/$(PVM_ARCH).m4

 OBJS = tpvmfaddhost.o \
	tpvmfarchcode.o \
	tpvmfbarrier.o \
	tpvmfbcast.o \
	tpvmfbufinfo.o \
	tpvmfconfig.o \
	tpvmfdelhost.o \
	tpvmfexit.o \
	tpvmffreebuf.o \
	tpvmfgather.o \
	tpvmfgetinst.o \
	tpvmfgetopt.o \
	tpvmfgetrbuf.o \
	tpvmfgetsbuf.o \
	tpvmfgettid.o \
	tpvmfgsize.o \
	tpvmfhalt.o \
	tpvmfhostsync.o \
	tpvmfinitsend.o \
	tpvmfjoingrp.o \
	tpvmfkill.o \
	tpvmflvgrp.o \
	tpvmfmcast.o \
	tpvmfmkbuf.o \
	tpvmfmstat.o \
	tpvmfmytid.o \
	tpvmfnotify.o \
	tpvmfnrecv.o \
	tpvmfpack.o \
	tpvmfparent.o \
	tpvmfperror.o \
	tpvmfprecv.o \
	tpvmfprobe.o \
	tpvmfpsend.o \
	tpvmfpstat.o \
	tpvmfrecv.o \
	tpvmfreduce.o \
	tpvmfscatter.o \
	tpvmfsend.o \
	tpvmfsendsig.o \
	tpvmfsetopt.o \
	tpvmfsetrbuf.o \
	tpvmfsetsbuf.o \
	tpvmfspawn.o \
	tpvmftasks.o \
	tpvmftidtoh.o \
	tpvmftrecv.o \
	tpvmfunpack.o\
	tapefstart.o\
	tapefopenphase.o

/* the following objs have been removed fom the above
   list because of errors :

   tpvmfcatchout.o

   the following have been added :

   tapefstart, tapefopenphase
*/

/* SRCS is only used for DependTarget */

SRCS = tapefstart.m4 tapefopenphase.m4

t%.m4: $(PVM_SRC_ROOT)/libfpvm/%.m4
	sed -f tradm4.sed $< > ./$@

t%.o: t%.m4
	$(M4) $(M4FILE) $< > tmp.c
	$(CC) $(CFLAGS) -c tmp.c -o $@
	$(RM) tmp.c

NormalLibraryTarget($(THISLIB),$(OBJS))
InstallLibrary($(THISLIB),$(TAPELIBDIR))

DependTarget()
