CC ?= cc AR ?= ar RANLIB ?= ranlib INSTALL ?= install PREFIX ?= /usr/local BUILD ?= build CFLAGS ?= -O2 -std=c99 -Wall -Wextra -Wpedantic CPPFLAGS ?= NETWORK_PROTOCOL ?= $(shell tr -d '\r\n' < NETWORK_PROTOCOL) SODIUM_CFLAGS ?= $(shell pkg-config --cflags libsodium 2>/dev/null) SODIUM_LIBS ?= $(shell pkg-config --libs libsodium 2>/dev/null || echo -lsodium) TARGET_TRIPLE = $(shell $(CC) -dumpmachine 2>/dev/null) ifeq ($(findstring mingw,$(TARGET_TRIPLE)),mingw) PLATFORM_LIBS = -lws2_32 endif CPPFLAGS += -Iinclude -include cess_compat.h -DCESSPOOL_HAVE_SODIUM -DCESSPOOL_NETWORK_PROTOCOL=\"$(NETWORK_PROTOCOL)\" $(SODIUM_CFLAGS) OBJECTS = $(BUILD)/cess_net.o $(BUILD)/cesspool.o $(BUILD)/cess_identity.o .PHONY: all clean install uninstall all: $(BUILD)/libcess.a $(BUILD)/cesspool-bootstrap $(BUILD): mkdir -p $@ $(BUILD)/%.o: src/%.c include/cesspool.h include/cess_net.h | $(BUILD) $(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@ $(BUILD)/libcess.a: $(OBJECTS) $(AR) rcs $@ $(OBJECTS) $(RANLIB) $@ $(BUILD)/cesspool-bootstrap: tools/cesspool-bootstrap.c $(BUILD)/libcess.a $(CC) $(CPPFLAGS) $(CFLAGS) $< $(BUILD)/libcess.a $(SODIUM_LIBS) $(PLATFORM_LIBS) -o $@ -include $(OBJECTS:.o=.d) install: all $(INSTALL) -d "$(DESTDIR)$(PREFIX)/lib" "$(DESTDIR)$(PREFIX)/include/libcess" "$(DESTDIR)$(PREFIX)/bin" "$(DESTDIR)$(PREFIX)/share/man/man1" $(INSTALL) -m 644 $(BUILD)/libcess.a "$(DESTDIR)$(PREFIX)/lib/libcess.a" $(INSTALL) -m 644 include/cesspool.h include/cess_net.h include/cess_compat.h "$(DESTDIR)$(PREFIX)/include/libcess/" $(INSTALL) -m 755 $(BUILD)/cesspool-bootstrap "$(DESTDIR)$(PREFIX)/bin/cesspool-bootstrap" $(INSTALL) -m 644 docs/cesspool-bootstrap.1 "$(DESTDIR)$(PREFIX)/share/man/man1/cesspool-bootstrap.1" uninstall: rm -f "$(DESTDIR)$(PREFIX)/lib/libcess.a" "$(DESTDIR)$(PREFIX)/bin/cesspool-bootstrap" "$(DESTDIR)$(PREFIX)/share/man/man1/cesspool-bootstrap.1" "$(DESTDIR)$(PREFIX)/include/libcess/cesspool.h" "$(DESTDIR)$(PREFIX)/include/libcess/cess_net.h" "$(DESTDIR)$(PREFIX)/include/libcess/cess_compat.h" clean: rm -rf "$(BUILD)"