LIBS = sword minizip override CXXFLAGS += -MMD -Wall -fPIC -std=c++20 `pkg-config $(LIBS) --cflags` override LDFLAGS += -lstdc++fs `pkg-config $(LIBS) --libs` SOURCES = $(wildcard *.cc) OBJECTS = $(SOURCES:.cc=.o) DEPS = $(OBJECTS:.o=.d) LIBRARY = libbible SONAME = $(LIBRARY).so.$(word 1, $(subst ., , $(version))) LIBRARY_STATIC = $(LIBRARY).a LIBRARY_SHARED = $(LIBRARY).so .PHONY: all all: $(LIBRARY_SHARED) $(LIBRARY_STATIC) $(LIBRARY_SHARED): $(OBJECTS) $(CXX) $^ -shared -Wl,-soname,$(SONAME) -o $@ $(LDFLAGS) $(LIBRARY_STATIC): $(OBJECTS) $(AR) rcs $@ $^ .PHONY: clean clean: $(RM) $(OBJECTS) $(DEPS) $(LIBRARY_SHARED) $(LIBRARY_STATIC)