CC=g++ LIBS=sword minizip CFLAGS=-c -Wall -fPIC -std=c++17 LDFLAGS=-lstdc++fs SOURCES=libbible.cc mods.cc settings.cc OBJECTS=$(SOURCES:.cc=.o) LIBRARY=libbible.so EXECUTABLE=bible ifeq ($(PREFIX),) PREFIX := /usr endif all: $(SOURCES) $(LIBRARY) $(EXECUTABLE) install: $(LIBRARY) $(EXECUTABLE) install -d $(DESTDIR)$(PREFIX)/lib/ install -m 644 $(LIBRARY) $(DESTDIR)$(PREFIX)/lib/ install -d $(DESTDIR)$(PREFIX)/include/ install -m 644 libbible.h $(DESTDIR)$(PREFIX)/include/ install -d $(DESTDIR)$(PREFIX)/bin/ install -m 755 bible $(DESTDIR)$(PREFIX)/bin/ test: $(OBJECTS) testLibbible.o $(CC) $(OBJECTS) testLibbible.o -o $@ $(LDFLAGS) `pkg-config $(LIBS) --libs` -lcppunit testLibbible.o: testLibbible.cc $(CC) $(CFLAGS) testLibbible.cc -o $@ bible: $(OBJECTS) bible.o $(CC) $(OBJECTS) bible.o -o $@ $(LDFLAGS) `pkg-config $(LIBS) --libs` bible.o: bible.cc $(CC) $(CFLAGS) bible.cc -o $@ $(LIBRARY): $(OBJECTS) $(CC) $(OBJECTS) -shared -o $@ $(LDFLAGS) `pkg-config $(LIBS) --libs` .cc.o: $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags` clean: rm -rf *.o $(LIBRARY) test bible