# $Id: Makefile 1262 2006-11-01 17:08:13Z olau $

# MPIROOT=/opt/intel/mpi/3.0
MPIROOT=/opt/mpich2
MPIEXEC=$(MPIROOT)/bin/mpiexec
MPICC=$(MPIROOT)/bin/mpicc

CC=gcc
CXX=g++
DEBUGFLAGS=-DDEBUG -ggdb
CFLAGS=-Wall -std=c99 $(DEBUGFLAGS)
CXXFLAGS=-Wall $(DEBUGFLAGS)
LFLAGS=
OUT=-o
O=.o

PROJ=ping-pong

release:
	$(MAKE) all O="$(O)" \
		CFLAGS="$(CFLAGS)" \
		CXXFLAGS="$(CXXFLAGS)" \
		LFLAGS="$(LFLAGS)" \
		OUT="$(OUT)"

debug:
	$(MAKE) all O="$(O)" \
		CFLAGS="$(CFLAGS) $(DEBUGFLAGS)" \
		CXXFLAGS="$(CXXFLAGS)" \
		LFLAGS="$(LFLAGS)" \
		OUT="$(OUT)"


all: $(PROJ)

clean:
	$(RM) *$(O)
	$(RM) $(PROJ)

ping-pong: ping-pong.c ../../globaldefs.h Makefile
	$(MPICC) $(CFLAGS) $(OUT) ping-pong ping-pong.c $(LFLAGS) $(INC)

dist: $(PROJ)
	for i in `mpdtrace`; do \
		scp $(PROJ) $$i:~/bin/$(PROJ); \
	done

test: $(PROJ)
	@echo "ACHTUNG: make dist nicht vergessen!"
	$(MPIEXEC) -n 2 $(PROJ)
