# # 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