CC = gcc
MPICC = mpicc
CFLAGS = -Wall -O2 -g 

OBJECTS1 = trap.o func.o traprule.o 
OBJECTS2 = func.o traprule.o iotrap.o getdata.o

all: partrap iopartrap

partrap: $(OBJECTS1)
	$(MPICC) -o partrap $(OBJECTS1)

iopartrap: $(OBJECTS2)
	$(MPICC) -o iopartrap $(OBJECTS2)

trap.o: trap.c
	$(MPICC) $(CFLAGS) -c trap.c

traprule.o: traprule.c
	$(MPICC) $(CFLAGS) -c traprule.c

func.o: func.c
	$(MPICC) $(CFLAGS) -c func.c

getdata.o: getdata.c
	$(MPICC) $(CFLAGS) -c getdata.c

iotrap.o: iotrap.c
	$(MPICC) $(CFLAGS) -c iotrap.c

clean:
	rm $(OBJECTS1) $(OBJECTS2)