X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile;h=1b5860ffa16c7504a05136c45295266b36aea1b9;hb=refs%2Fheads%2Fmaster;hp=ca93558dbe428ab7a52156783ebd9ac0b3a1fc2d;hpb=5163d25c65c3028090db1aea6587ec2fb4cb823e;p=bmusb diff --git a/Makefile b/Makefile index ca93558..f21c9ff 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,30 @@ -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 +PKG_CONFIG ?= pkg-config +CXXFLAGS ?= -O2 -g +CXXFLAGS := -std=gnu++14 -Wall -I. $(shell $(PKG_CONFIG) libusb-1.0 --cflags) -pthread $(CXXFLAGS) +LDFLAGS := $(shell $(PKG_CONFIG) libusb-1.0 --libs) -pthread $(LDFLAGS) AR := ar LN := ln RANLIB := ranlib INSTALL := install PREFIX := /usr/local +LIBDIR := $(PREFIX)/lib +UDEVDIR ?= $(shell $(PKG_CONFIG) --variable udevdir udev) +UDEVDIR ?= /lib/udev LIB := libbmusb.a SODEV := libbmusb.so -SONAME := libbmusb.so.5 -SOLIB := libbmusb.so.5.0.0 +SONAME := libbmusb.so.6 +SOLIB := libbmusb.so.6.0.4 -all: $(LIB) $(SOLIB) main +all: $(LIB) $(SOLIB) main bmusb-v4l2proxy %.pic.o : %.cpp $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -o $@ -c $^ main: bmusb.o main.o - $(CXX) -o main $^ $(LDFLAGS) + $(CXX) -o $@ $^ $(LDFLAGS) + +bmusb-v4l2proxy: bmusb.o v4l2proxy.o + $(CXX) -o $@ $^ $(LDFLAGS) # Static library. $(LIB): bmusb.o fake_capture.o @@ -28,16 +36,18 @@ $(SOLIB): bmusb.pic.o fake_capture.pic.o $(CXX) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LDFLAGS) clean: - $(RM) bmusb.o main.o fake_capture.o bmusb.pic.o fake_capture.pic.o $(LIB) $(SOLIB) main + $(RM) bmusb.o main.o v4l2proxy.o fake_capture.o bmusb.pic.o fake_capture.pic.o $(LIB) $(SOLIB) main bmusb-v4l2proxy 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) $(SOLIB) $(DESTDIR)$(PREFIX)/lib - $(LN) -sf $(SOLIB) $(DESTDIR)$(PREFIX)/lib/$(SONAME) - $(LN) -sf $(SOLIB) $(DESTDIR)$(PREFIX)/lib/$(SODEV) - $(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 + $(INSTALL) -m 755 -d \ + $(DESTDIR)$(LIBDIR) \ + $(DESTDIR)$(LIBDIR)/pkgconfig \ + $(DESTDIR)$(PREFIX)/include/bmusb \ + $(DESTDIR)$(UDEVDIR)/rules.d + $(INSTALL) -m 755 $(LIB) $(SOLIB) $(DESTDIR)$(LIBDIR) + $(LN) -sf $(SOLIB) $(DESTDIR)$(LIBDIR)/$(SONAME) + $(LN) -sf $(SOLIB) $(DESTDIR)$(LIBDIR)/$(SODEV) + $(INSTALL) -m 755 bmusb/bmusb.h bmusb/fake_capture.h $(DESTDIR)$(PREFIX)/include/bmusb + $(INSTALL) -m 644 bmusb.pc $(DESTDIR)$(LIBDIR)/pkgconfig + $(INSTALL) -m 644 70-bmusb.rules $(DESTDIR)$(UDEVDIR)/rules.d