OBJ := obj
CFLAGS := -g -std=c++17 -fpic -fpermissive 
LDFLAGS=-g
LDLIBS=-shared -l"usb-1.0" -l"pthread"

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

all: objfolder libmtscra.a libmtscra.so $(OBJ)/hid.o

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

$(OBJ)/hid.o:
	g++ -c -o $(OBJ)/hid.o $(CFLAGS) hid.c

libmtscra.a : $(OBJECTS) $(OBJ)/hid.o
	$(AR) rsv $@ $^
	#g++ -o libmtscra.so -l"usb-1.0" -l"pthread" -ldl $^

libmtscra.so : $(OBJECTS) $(OBJ)/hid.o
	g++ -o libmtscra.so $(LDFLAGS) $^ $(LDLIBS)

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

clean:
	rm -r $(OBJ)
	rm libmtscra.a