export version = 1.0.5 export soname_version = $(word 1, $(subst ., , $(version))) override CXXFLAGS += -MMD -Wall -std=c++20 SOURCES = $(wildcard src/*.cc) OBJECTS = $(SOURCES:.cc=.o) DEPS = $(OBJECTS:.o=.d) EXECUTABLE = bible prefix ?= /usr exec_prefix ?= $(prefix) libdir ?= $(exec_prefix)/lib bindir ?= $(exec_prefix)/bin includedir ?= $(prefix)/include completions ?= `pkg-config --variable=completionsdir bash-completion` $(EXECUTABLE): $(OBJECTS) libbible $(CXX) $(OBJECTS) -o $@ $(LDFLAGS) -Lsrc/lib -lbible -include $(DEPS) .PHONY: libbible libbible: $(MAKE) -C src/lib .PHONY: test test: libbible $(MAKE) -C src/test/ test install: libbible $(EXECUTABLE) install -d $(DESTDIR)$(libdir) install -m 644 src/lib/libbible.so $(DESTDIR)$(libdir)/libbible.so.$(version) ln -sf libbible.so.$(soname_version) $(DESTDIR)$(libdir)/libbible.so ln -sf libbible.so.$(version) $(DESTDIR)$(libdir)/libbible.so.$(soname_version) install -m 644 src/lib/libbible.a $(DESTDIR)$(libdir) install -d $(DESTDIR)$(includedir) install -m 644 src/lib/libbible.h $(DESTDIR)$(includedir) install -d $(DESTDIR)$(bindir) install -m 755 $(EXECUTABLE) $(DESTDIR)$(bindir) install -d $(DESTDIR)$(completions) install -m 644 bible.bash $(DESTDIR)$(completions)/$(EXECUTABLE) .PHONY: clean clean: $(RM) $(OBJECTS) $(DEPS) $(EXECUTABLE) $(MAKE) -C src/test clean $(MAKE) -C src/lib clean