0.0.002
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>
This commit is contained in:
1 parent
f0f91540be
commit
b735900f2e
323 files changed
+134347
-343
No files matched your search
@@ -0,0 +1,72 @@
|
||||
CC ?= cc
|
||||
AR ?= ar
|
||||
RANLIB ?= ranlib
|
||||
OBJCOPY ?= objcopy
|
||||
INSTALL ?= install
|
||||
PREFIX ?= /usr/local
|
||||
DPIDIR ?= $(PREFIX)/lib/dillo/dpi
|
||||
DESTDIR ?=
|
||||
BUILD ?= build
|
||||
CFLAGS ?= -O2 -std=c99 -Wall -Wextra -Wpedantic
|
||||
CPPFLAGS ?=
|
||||
LDFLAGS ?=
|
||||
|
||||
PKG_CONFIG ?= pkg-config
|
||||
CURL_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags libcurl 2>/dev/null)
|
||||
CURL_LIBS ?= $(shell $(PKG_CONFIG) --libs libcurl 2>/dev/null || echo -lcurl)
|
||||
SODIUM_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags libsodium 2>/dev/null)
|
||||
SODIUM_LIBS ?= $(shell $(PKG_CONFIG) --libs libsodium 2>/dev/null || echo -lsodium)
|
||||
|
||||
CPPFLAGS += -Iinc -DSLEEP_SALT -DDAT_BUILD_DIR=\"$(BUILD)\" -DDAT_NETWORK_PROTOCOL=\"$(shell tr -d '\r\n' < NETWORK_PROTOCOL)\" $(CURL_CFLAGS) $(SODIUM_CFLAGS)
|
||||
LIBS = $(SODIUM_LIBS) $(CURL_LIBS) -lm -ldl
|
||||
|
||||
LIB_SOURCES = src/base32768.c src/cable.c src/cable_feed.c src/dat.c src/dat_browse.c src/dat_dns.c src/dat_fetch.c src/dat_walk.c src/dat_net.c src/dat_wire.c src/dat_session.c \
|
||||
src/cesspool.c src/sleep.c src/sleep_tree.c src/sleep_bitfield.c \
|
||||
src/sleep_proto.c src/sleep_crypto.c src/sleep_writer.c \
|
||||
src/sleep_feed.c src/sleep_proof.c src/sleep_replication.c src/sleep_utp.c
|
||||
LIB_OBJECTS = $(patsubst src/%.c,$(BUILD)/%.o,$(LIB_SOURCES)) $(BUILD)/sleep_verify_lib.o
|
||||
DEPFILES = $(LIB_OBJECTS:.o=.d) $(BUILD)/s7.d
|
||||
|
||||
.PHONY: all clean install install-user
|
||||
all: $(BUILD)/dat.dpi
|
||||
|
||||
$(BUILD):
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILD)/%.o: src/%.c | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@
|
||||
|
||||
$(BUILD)/sleep_verify_lib.o: src/sleep_verify.c | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -DSLEEP_VERIFY_NO_MAIN -MMD -MP -c $< -o $@
|
||||
|
||||
# S7 is used only as a parser for archive .scm metadata. Rename its optional
|
||||
# command-line entry point so the DPI owns the process main().
|
||||
$(BUILD)/s7.o: src/s7.c | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -w -MMD -MP -c $< -o $@
|
||||
|
||||
$(BUILD)/dpi_s7.o: $(BUILD)/s7.o
|
||||
$(OBJCOPY) --redefine-sym main=dat_dpi_s7_standalone_main $< $@
|
||||
|
||||
$(BUILD)/libdatdpi.a: $(LIB_OBJECTS)
|
||||
$(AR) rcs $@ $(LIB_OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(BUILD)/dat.dpi: src/dat_dpi.c src/dat_dpi_icons.h $(BUILD)/libdatdpi.a $(BUILD)/dpi_s7.o
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) src/dat_dpi.c $(BUILD)/libdatdpi.a $(BUILD)/dpi_s7.o $(LIBS) -o $@
|
||||
|
||||
install: $(BUILD)/dat.dpi
|
||||
$(INSTALL) -d "$(DESTDIR)$(DPIDIR)/dat"
|
||||
$(INSTALL) -m 755 $(BUILD)/dat.dpi "$(DESTDIR)$(DPIDIR)/dat/dat.dpi"
|
||||
$(INSTALL) -d "$(DESTDIR)$(PREFIX)/share/doc/dat-dpi"
|
||||
$(INSTALL) -m 644 README.md "$(DESTDIR)$(PREFIX)/share/doc/dat-dpi/README.md"
|
||||
|
||||
install-user: $(BUILD)/dat.dpi
|
||||
$(INSTALL) -d "$(HOME)/.dillo/dpi/dat"
|
||||
$(INSTALL) -m 755 $(BUILD)/dat.dpi "$(HOME)/.dillo/dpi/dat/dat.dpi"
|
||||
@if ! test -f "$(HOME)/.dillo/dpidrc"; then printf '%s\n' 'dpi_dir=$(DPIDIR)' > "$(HOME)/.dillo/dpidrc"; fi
|
||||
@if ! grep -q '^proto\.dat=' "$(HOME)/.dillo/dpidrc"; then printf '%s\n' 'proto.dat=dat/dat.dpi' >> "$(HOME)/.dillo/dpidrc"; fi
|
||||
|
||||
clean:
|
||||
rm -rf "$(BUILD)"
|
||||
|
||||
-include $(DEPFILES)
|
||||
Reference in new issue
Block a user