MAIN=perihelion
OBJ_DIR=bin
SRC_DIR=src
SRC=perihelion.c max.c
OBJ=$(SRC:%.c=%.o)

CC=gcc
LDFLAGS+= -lm
CFLAGS+= -Wall -g -O0

vpath %.c $(SRC_DIR)
vpath %.h $(SRC_DIR)
vpath %.o $(BIN_DIR)

all:	$(OBJ)
	$(CC) $(CFLAGS) -o $(MAIN) $(foreach obj, $^, $(OBJ_DIR)/$(obj)) $(LDFLAGS)

%.o:	%.c
	$(CC) $(CFLAGS) -c -o $(OBJ_DIR)/$(@F) $(SRC_DIR)/$(<F)

.PHONY:	clean mrproper

clean:
	rm -f $(OBJ_DIR)/*.o
	rm -f $(SRC_DIR)/.*.swo $(SRC_DIR)/.*.swn $(SRC_DIR)/.*.swp

mrproper:	clean
		rm $(MAIN)

