CC = mpiCC -DDRAWAREA_MPI
CFLAGS = -Wall -O3 -c
LFLAGS = -s -lm

PROG = DrawArea-mpi
HDR_FILES = DrawArea.h pnm.h ParseArgs.h Error.h
OBJ_FILES = Graph.o WayPoint.o ClosedList.o OpenList.o DrawArea.o

SRC_DIR = ./src
OBJ_DIR = ./obj

HDR = $(HDR_FILES:%=$(SRC_DIR)/%)
OBJ = $(OBJ_FILES:%=$(OBJ_DIR)/%)

$(PROG): $(OBJ) $(HDR)
	$(CC) $(LDFLAGS) $(LFLAGS) -o $(PROG) $(OBJ)

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp object
	$(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@

object:
	mkdir -p $(OBJ_DIR)

clean:
	rm -rf $(OBJ_DIR) $(PROG)