ddat interop with dat js cable interop with cabal js ddat's frontend = dat-thang cable fe = cable-thang dillo support based on cel's dillo-dat bootstrap node xplatform support Signed-off-by: divo <418@cryspace.space>
50 lines
2.0 KiB
Makefile
50 lines
2.0 KiB
Makefile
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)"
|