1 PKG_CONFIG ?= pkg-config
2 CXXFLAGS := -std=gnu++14 -O2 -Wall -I. -g $(shell $(PKG_CONFIG) libusb-1.0 --cflags) -pthread
3 LDFLAGS := $(shell $(PKG_CONFIG) libusb-1.0 --libs) -pthread
9 LIBDIR := $(PREFIX)/lib
12 SONAME := libbmusb.so.6
13 SOLIB := libbmusb.so.6.0.1
15 all: $(LIB) $(SOLIB) main bmusb-v4l2proxy
18 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -o $@ -c $^
21 $(CXX) -o $@ $^ $(LDFLAGS)
23 bmusb-v4l2proxy: bmusb.o v4l2proxy.o
24 $(CXX) -o $@ $^ $(LDFLAGS)
27 $(LIB): bmusb.o fake_capture.o
32 $(SOLIB): bmusb.pic.o fake_capture.pic.o
33 $(CXX) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LDFLAGS)
36 $(RM) bmusb.o main.o v4l2proxy.o fake_capture.o bmusb.pic.o fake_capture.pic.o $(LIB) $(SOLIB) main bmusb-v4l2proxy
39 $(INSTALL) -m 755 -o root -g root -d \
41 $(DESTDIR)$(LIBDIR)/pkgconfig \
42 $(DESTDIR)$(PREFIX)/include/bmusb \
43 $(DESTDIR)/lib/udev/rules.d
44 $(INSTALL) -m 755 -o root -g root $(LIB) $(SOLIB) $(DESTDIR)$(LIBDIR)
45 $(LN) -sf $(SOLIB) $(DESTDIR)$(LIBDIR)/$(SONAME)
46 $(LN) -sf $(SOLIB) $(DESTDIR)$(LIBDIR)/$(SODEV)
47 $(INSTALL) -m 755 -o root -g root bmusb/bmusb.h bmusb/fake_capture.h $(DESTDIR)$(PREFIX)/include/bmusb
48 $(INSTALL) -m 644 -o root -g root bmusb.pc $(DESTDIR)$(LIBDIR)/pkgconfig
49 $(INSTALL) -m 644 -o root -g root 70-bmusb.rules $(DESTDIR)/lib/udev/rules.d