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