
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 rms_scra_firmware_update rms_scra_emvtags_capks_update rms_scra_config_update

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


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

rms_scra_emvtags_capks_update : $(OBJ)/TLV.o $(OBJ)/stdafx.o $(OBJ)/RMS.o $(OBJ)/rms_scra_emvtags_capks_update.o $(OBJ)/RMSAccount.o
	g++ -o rms_scra_emvtags_capks_update $^ -L"." -lmtusdk -l"usb-1.0" -l"pthread" -ldl -ljsoncpp -lrestclient-cpp -lcurl -lssl -lcrypto
	
rms_scra_config_update : $(OBJ)/TLV.o $(OBJ)/stdafx.o $(OBJ)/RMS.o $(OBJ)/rms_scra_config_update.o $(OBJ)/RMSAccount.o
	g++ -o rms_scra_config_update $^ -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 rms_scra_firmware_update
	rm rms_scra_emvtags_capks_update
	rm rms_scra_config_update

