X-Git-Url: https://git.sesse.net/?p=bmusb;a=blobdiff_plain;f=Makefile;h=ee0ba10393e089591c598e1b2385da8abed25e61;hp=075aca8d8fc83837318e991f047371a03010c074;hb=4d581348943463cdb7297d05ed1fe0c1fcbd90c0;hpb=69b4f1db4fc485f28d6265a6adacb9a6baaa095f diff --git a/Makefile b/Makefile index 075aca8..ee0ba10 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,43 @@ 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.1 +SOLIB := libbmusb.so.1.0.0 -all: $(LIB) main +all: $(LIB) $(SOLIB) main + +%.pic.o : %.cpp + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -o $@ -c $^ main: bmusb.o main.o $(CXX) -o main $^ $(LDFLAGS) +# 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 $(LIB) main + $(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) $(DESTDIR)$(PREFIX)/lib + $(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