X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile;h=aad31217ce2b41a12c203180e5860a8c08edc0fa;hb=824260a0732a49b5a18f2e16e04b0373c37a3bea;hp=aaca93d7680a7cc99ff1490f47028634a55bfa9c;hpb=9aa1c92ad811fda2d7dd94a53b4c731fe5a83472;p=bmusb diff --git a/Makefile b/Makefile index aaca93d..aad3121 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,43 @@ -CXXFLAGS := -std=gnu++14 -O2 -march=native -Wall -g $(shell pkg-config libusb-1.0 --cflags) -pthread +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 +LN := ln +RANLIB := ranlib +INSTALL := install +PREFIX := /usr/local +LIB := libbmusb.a +SODEV := libbmusb.so +SONAME := libbmusb.so.3 +SOLIB := libbmusb.so.3.0.0 + +all: $(LIB) $(SOLIB) main + +%.pic.o : %.cpp + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -o $@ -c $^ main: bmusb.o main.o $(CXX) -o main $^ $(LDFLAGS) -all: main +# Static library. +$(LIB): bmusb.o fake_capture.o + $(AR) rc $@ $^ + $(RANLIB) $@ + +# Shared library. +$(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 + +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