CXXFLAGS := -std=gnu++14 -O2 -Wall -I. -g $(shell pkg-config libusb-1.0 --cflags) -pthread
LDFLAGS := $(shell pkg-config libusb-1.0 --libs) -pthread
AR := ar
RANLIB := ranlib
INSTALL := install
PREFIX := /usr/local
LIB := libbmusb.a

all: $(LIB) main

main: bmusb.o main.o
	$(CXX) -o main $^ $(LDFLAGS)

$(LIB): bmusb.o fake_capture.o
	$(AR) rc $@ $^
	$(RANLIB) $@

clean:
	$(RM) bmusb.o main.o fake_capture.o $(LIB) main

install: all
	$(INSTALL) -m 755 -o root -g root -d \
		$(DESTDIR)$(PREFIX)/lib \
		$(DESTDIR)$(PREFIX)/lib/pkgconfig \
		$(DESTDIR)$(PREFIX)/include/bmusb
	$(INSTALL) -m 755 -o root -g root $(LIB) $(DESTDIR)$(PREFIX)/lib
	$(INSTALL) -m 755 -o root -g root bmusb/bmusb.h bmusb/fake_capture.h $(DESTDIR)$(PREFIX)/include/bmusb
	$(INSTALL) -m 644 -o root -g root bmusb.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig

