#
# Makefile for NetPIPE
#
# Default C compiler: must be an ANSI C compiler
#CC = cc
# File names for the main source files
DRIV_SRC = netpipe.c
DRIV_OBJ = netpipe.o
INCLUDES = netpipe.h
# Default target is just TCP
TARGETS = NPtcp
# If you have TCP, MPI and PVM
#TARGETS = NPtcp NPmpi NPpvm
CFLAGS += -O -Wall
# Adjust these for MPI (only used if you have MPI)
MPI_HOME = /home/mpich
MPI_ARCH = IRIX
MPI_DEVICE = ch_p4
# Adjust these for PVM (only used if you have PVM)
PVM_HOME = /home/pvm3
PVM_ARCH = SUN4SOL2
# Any extra libraries needed
EXTRA_LIBS = $(LDFLAGS)
#EXTRA_LIBS = -lgcc
all: $(TARGETS)
install:
@/bin/chmod 755 netpipe.sh
@ln -f $(TARGETS) netpipe.sh ../../testcases/bin/
#
# This section of the Makefile is for compiling the binaries
#
TCP: NPtcp
@echo 'NPtcp has been built.'
NPtcp: NPtcp.o TCP.o
$(CC) $(CFLAGS) NPtcp.o TCP.o -o NPtcp $(EXTRA_LIBS)
NPtcp.o: $(DRIV_SRC) $(INCLUDES)
$(CC) $(CFLAGS) -DTCP -c -o NPtcp.o $(DRIV_SRC)
TCP.o: TCP.c TCP.h $(INCLUDES)
$(CC) $(CFLAGS) -DTCP -c TCP.c
MPI: NPmpi
@echo 'NPmpi has been built.'
NPmpi: NPmpi.o MPI.o
$(CC) $(CFLAGS) NPmpi.o MPI.o -o NPmpi -L $(MPI_HOME)/lib/$(MPI_ARCH)/$(MPI_DEVICE) -lmpi $(EXTRA_LIBS)
NPmpi.o: $(DRIV_SRC) $(INCLUDES)
$(CC) $(CFLAGS) -DMPI -I$(MPI_HOME)/include -c -o NPmpi.o $(DRIV_SRC)
MPI.o: MPI.c MPI.h $(INCLUDES)
$(CC) $(CFLAGS) -DMPI -I$(MPI_HOME)/include -c MPI.c
PVM: NPpvm
@echo 'NPpvm has been built.'
NPpvm: NPpvm.o PVM.o
$(CC) $(CFLAGS) NPpvm.o PVM.o -o NPpvm -L$(PVM_HOME)/lib/$(PVM_ARCH)/ -lpvm3 $(EXTRA_LIBS)
NPpvm.o: $(DRIV_SRC) $(INCLUDES)
$(CC) $(CFLAGS) -DPVM -I$(PVM_HOME)/include -c -o NPpvm.o $(DRIV_SRC)
PVM.o: PVM.c PVM.h $(INCLUDES)
$(CC) $(CFLAGS) -DPVM -I$(PVM_HOME)/include -c PVM.c
clean:
rm -f $(TARGETS) *.o core a.out