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

OBJS = jsonconfmonitor.o

ifeq ($(BUILD_MODE),debug)
	CFLAGS += -ggdb -O0
else ifeq ($(BUILD_MODE),run)
	CFLAGS += -O2
else
	$(error Build mode $(BUILD_MODE) not supported by this Makefile)
endif


CFLAGS += $(shell pkg-config --cflags --libs --static json-c)
LDFLAGS += $(shell pkg-config --libs --static json-c)

all:	jsonconfmonitor

jsonconfmonitor:	$(OBJS)
	$(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $^

%.o:	$(PROJECT_ROOT)%.cpp
	$(CXX) -c $(CFLAGS) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $<

%.o:	$(PROJECT_ROOT)%.c
	$(CC) -c $(CFLAGS) $(LDFLAGS) $(CPPFLAGS) -o $@ $<

clean:
	rm -fr jsonconfmonitor $(OBJS)
