CXX        = CC
AR         = /bin/ar
ARFLAGS    = cr
DEFS       = -DHAVE_CONFIG_H
LIBS       = -lhpcxx_rts  -lnexus -lpthread

HPCXX_PATH = /research/paraducks/apps/HPC++
HPCXX_LIB  = $(HPCXX_PATH)/lib/sgi64
HPCXX_INC  = -I$(HPCXX_PATH)/include -I$(HPCXX_PATH)/template 

CXXFLAGS   =  -64 -g  -no_auto_include -prelink
CPPFLAGS   =  $(HPCXX_INC)  -I/local64/apps/nexus-4.1.1/include 
LDFLAGS    =  -L/local64/apps/nexus-4.1.1/lib -64 -L$(HPCXX_PATH)/lib/sgi64

##########################################################################################

EXE  = master slave

MASTER_SRC = master.C util.C FakeData.C
MASTER_OBJ = $(MASTER_SRC:.C=.o)

SLAVE_SRC = slave.C util.C FakeData.C
SLAVE_OBJ = $(SLAVE_SRC:.C=.o)

##########################################################################################

# suffix rule for .C to .o conversion
.C.o:
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(DEFS) -c $(@:.o=.C)

all: $(EXE)

master: $(MASTER_OBJ)
	$(CXX) -o $(@) $(MASTER_OBJ) $(LDFLAGS) $(LIBS)

slave: $(SLAVE_OBJ)
	$(CXX) -o $(@) $(SLAVE_OBJ) $(LDFLAGS) $(LIBS)

###########################################################################################

clean:
	rm -rf ii_files
	@touch $(EXE) $(SLAVE_OBJ) $(MASTER_OBJ) foo.t~ 
	rm -f  $(EXE) $(SLAVE_OBJ) $(MASTER_OBJ) *~ url.out


fresh: clean all
