
OBJ := obj
CFLAGS := -g -std=c++17 -fpic -fpermissive -Wformat-security -Wsign-compare -Wunused-variable

SOURCES := $(wildcard *.cpp)
OBJECTS := $(patsubst %.cpp, $(OBJ)/%.o, $(SOURCES))

all: objfolder update_cfg_rs2 update_firmware_rs2cmds update_firmware_rs2mut

objfolder :
ifeq ($(wildcard  $(OBJ)), )
	mkdir $(OBJ)
endif


update_cfg_rs2 : $(OBJ)/TLV.o $(OBJ)/stdafx.o $(OBJ)/RS2.o $(OBJ)/update_cfg_rs2.o $(OBJ)/account.o
	g++ -o update_cfg_rs2 $^ -L"." -lmtusdk -l"usb-1.0" -l"pthread" -ldl -ljsoncpp -lrestclient-cpp -lcurl -lssl -lcrypto

update_firmware_rs2cmds : $(OBJ)/TLV.o $(OBJ)/stdafx.o $(OBJ)/RS2.o $(OBJ)/update_firmware_rs2cmds.o $(OBJ)/account.o
	g++ -o update_firmware_rs2cmds $^ -L"." -lmtusdk -l"usb-1.0" -l"pthread" -ldl -ljsoncpp -lrestclient-cpp -lcurl -lssl -lcrypto

update_firmware_rs2mut : $(OBJ)/TLV.o $(OBJ)/stdafx.o $(OBJ)/RS2.o $(OBJ)/update_firmware_rs2mut.o $(OBJ)/account.o
	g++ -o update_firmware_rs2mut $^ -L"." -lmtusdk -l"usb-1.0" -l"pthread" -ldl -ljsoncpp -lrestclient-cpp -lcurl -lssl -lcrypto


$(OBJ)/%.o: %.cpp
	g++ -c $(CFLAGS) $< -o $@

clean:
	rm -r $(OBJ)
	rm update_cfg_rs2


