CFLAGS += -g3 -Wall -W -Wextra -DLINUX -I../include -I../projects/stargazer -I../stglibs/stgconffiles.lib -I. -DUSE_ABSTRACT_SETTINGS -DLINUX
CXXFLAGS = ${CFLAGS}
LIBS = -lpthread
PROG = tests

SOURCES = main.cpp \
	  test_raw_ip.cpp \
  	  test_admin_conf.cpp \
	  test_tariff.cpp \
	  test_conffiles.cpp \
	  test_fee_charge_rules.cpp \
	  test_reconnect_on_tariff_change.cpp \
	  ../projects/stargazer/tariff_impl.cpp \
	  ../projects/stargazer/user_impl.cpp \
	  ../projects/stargazer/user_property.cpp \
	  ../stglibs/conffiles.lib/conffiles.cpp \
	  ../stglibs/common.lib/common.cpp \
	  ../stglibs/logger.lib/logger.cpp \
	  ../stglibs/scriptexecuter.lib/scriptexecuter.cpp

.PHONY: all includes clean

all: includes $(PROG)

includes:
	make -C ../stglibs includes

$(PROG): $(subst .cpp,.o,$(SOURCES))
	$(CXX) $(LDFLAGS) $^ $(LIBS) -o $@

clean:
	rm -f *.o *.d $(PROG)

ifneq ($(MAKECMDGOALS),distclean)
ifneq ($(MAKECMDGOALS),clean)
-include $(subst .cpp,.d,$(SOURCES))
endif
endif

%.d: %.cpp
	@$(CC) -MM $(CXXFLAGS) $< > $@.$$$$; \
	sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$