PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))

OBJS = naegling.o

ifeq ($(BUILD_MODE),debug)
	CFLAGS += -g -O0
else ifeq ($(BUILD_MODE),run)
	CFLAGS += -O2
else ifeq ($(BUILD_MODE),profile)
	CFLAGS += -g -pg -fprofile-arcs -ftest-coverage
	LDFLAGS += -pg -fprofile-arcs -ftest-coverage
	EXTRA_CLEAN += naegling.gcda naegling.gcno $(PROJECT_ROOT)gmon.out
	EXTRA_CMDS = rm -rf naegling.gcda
else
    $(error Build mode $(BUILD_MODE) not supported by this Makefile)
endif

SRC_DIR=$(PROJECT_ROOT)/src/c

all:	naegling

naegling:	$(OBJS)
	$(CXX) $(LDFLAGS) -o $@ $^
	$(EXTRA_CMDS)

# %.o:	$(SRC_DIR)/%.cpp
#	$(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $<

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

clean:
	rm -fr naegling $(OBJS) $(EXTRA_CLEAN)
