CC  = gcc
CX  = g++
OBJ_DIR = .
WPI_DIR = /tmp

INC = -I/usr/local/include -I .
TRFLAGS =  
NOTUSEDTRFLAGS = -DTRACECORE433 -DTRACEEVENTMNG -DTRACESINGLETON -DTRACE_RCOOK -DSENSORDEBUG 

CFLAGS = -c -MMD
LDFLAGS += -Xlinker --defsym -Xlinker W3RPI_BUILD_DATE=$$(date +'%Y%m%d') -L/usr/local/lib

w3rpi_dir = ./
w3rpi_files = ./switch_433.cpp ./ook_433.cpp ./oregon.cpp ./core_433.cpp ./eventManager.cpp ./singleton.cpp ./bmp280.cpp ./ads1015.cpp ./ina219.cpp
w3rpi_objects=$(addsuffix .o,$(addprefix $(OBJ_DIR)/,$(basename $(notdir $(w3rpi_files))))) 

target_dir = .
target_files+= w3rpi.cpp
target_objects=$(addsuffix .o,$(addprefix $(OBJ_DIR)/,$(basename $(notdir $(target_files))))) 
target=./w3rpi

all:  $(target) 

$(target): $(target_objects) $(w3rpi_objects) 
	$(CX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ -lwiringPi -lsqlite3 -lpthread 
	chmod +x $@

$(OBJ_DIR)/%.o: $(w3rpi_dir)/%.cpp $(w3rpi_dir)/%.h
	@echo '----------------------------------'
	@echo compiling $@
	$(CX) $(CFLAGS) $(INC) $< -o $@ $(TRFLAGS)
	@echo '-------------'
  
$(OBJ_DIR)/%.o: $(target_dir)/%.cpp
	@echo '----------------------------------'
	@echo compiling $@
	$(CX) $(CFLAGS) $(INC) $< -o $@ $(TRFLAGS)
	@echo '-------------'

clean:
	@rm $(OBJ_DIR)/*.o
	@rm $(target)