2022-04-14 10:52:29 -04:00
|
|
|
|
2022-08-30 10:31:49 -04:00
|
|
|
CFLAGS = -Wall -O2 -Ideps/secp256k1/include
|
2022-04-14 15:35:26 -04:00
|
|
|
OBJS = sha256.o nostril.o aes.o base64.o
|
2022-08-08 18:31:38 -04:00
|
|
|
HEADERS = hex.h random.h config.h sha256.h deps/secp256k1/include/secp256k1.h
|
2022-07-13 13:33:54 -04:00
|
|
|
PREFIX ?= /usr/local
|
2022-08-08 18:31:38 -04:00
|
|
|
ARS = libsecp256k1.a
|
|
|
|
|
|
|
|
SUBMODULES = deps/secp256k1
|
2022-04-14 10:52:29 -04:00
|
|
|
|
2022-11-17 16:21:07 -05:00
|
|
|
all: nostril docs
|
|
|
|
|
|
|
|
docs: doc/nostril.1
|
|
|
|
|
2023-01-22 17:32:14 -05:00
|
|
|
doc/nostril.1: README.md
|
2022-11-17 16:21:07 -05:00
|
|
|
scdoc < $^ > $@
|
|
|
|
|
|
|
|
version: nostril.c
|
|
|
|
grep '^#define VERSION' $< | sed -En 's,.*"([^"]+)".*,\1,p' > $@
|
|
|
|
|
|
|
|
dist: docs version
|
|
|
|
@mkdir -p dist
|
2022-11-17 16:34:28 -05:00
|
|
|
git ls-files --recurse-submodules | tar --transform 's/^/nostril-$(shell cat version)\//' -T- -caf dist/nostril-$(shell cat version).tar.gz
|
2022-11-17 16:21:07 -05:00
|
|
|
@ls -dt dist/* | head -n1 | xargs echo "tgz "
|
|
|
|
cd dist;\
|
|
|
|
sha256sum *.tar.gz > SHA256SUMS.txt;\
|
|
|
|
gpg -u 0x8A478B64FFE30F1095A8736BF5F27EFD1B38DABB --sign --armor --detach-sig --output SHA256SUMS.txt.asc SHA256SUMS.txt
|
2022-11-17 21:12:56 -05:00
|
|
|
cp CHANGELOG dist/CHANGELOG.txt
|
2022-11-17 16:21:07 -05:00
|
|
|
rsync -avzP dist/ charon:/www/cdn.jb55.com/tarballs/nostril/
|
2022-04-14 10:52:29 -04:00
|
|
|
|
2022-08-08 18:31:38 -04:00
|
|
|
deps/secp256k1/.git:
|
|
|
|
@devtools/refresh-submodules.sh $(SUBMODULES)
|
|
|
|
|
|
|
|
deps/secp256k1/include/secp256k1.h: deps/secp256k1/.git
|
|
|
|
|
|
|
|
deps/secp256k1/configure: deps/secp256k1/.git
|
|
|
|
cd deps/secp256k1; \
|
|
|
|
./autogen.sh
|
|
|
|
|
|
|
|
deps/secp256k1/config.log: deps/secp256k1/configure
|
|
|
|
cd deps/secp256k1; \
|
|
|
|
./configure --disable-shared --enable-module-ecdh --enable-module-schnorrsig --enable-module-extrakeys
|
|
|
|
|
|
|
|
deps/secp256k1/.libs/libsecp256k1.a: deps/secp256k1/config.log
|
|
|
|
cd deps/secp256k1; \
|
|
|
|
make -j libsecp256k1.la
|
|
|
|
|
|
|
|
libsecp256k1.a: deps/secp256k1/.libs/libsecp256k1.a
|
|
|
|
cp $< $@
|
|
|
|
|
|
|
|
%.o: %.c $(HEADERS)
|
2022-04-14 11:14:13 -04:00
|
|
|
@echo "cc $<"
|
2022-04-14 11:17:10 -04:00
|
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
2022-04-14 11:14:13 -04:00
|
|
|
|
2022-08-08 18:31:38 -04:00
|
|
|
nostril: $(HEADERS) $(OBJS) $(ARS)
|
|
|
|
$(CC) $(CFLAGS) $(OBJS) $(ARS) -o $@
|
2022-04-14 10:52:29 -04:00
|
|
|
|
2022-11-17 16:21:07 -05:00
|
|
|
install: all
|
2022-12-20 18:00:18 -05:00
|
|
|
mkdir -p $(PREFIX)/share/man/man1
|
|
|
|
mkdir -p $(PREFIX)/bin
|
|
|
|
install -m644 doc/nostril.1 $(PREFIX)/share/man/man1/nostril.1
|
|
|
|
install -m755 nostril $(PREFIX)/bin/nostril
|
|
|
|
install -m755 nostril-query $(PREFIX)/bin/nostril-query
|
2022-04-20 20:15:25 -04:00
|
|
|
|
2022-07-06 11:19:23 -04:00
|
|
|
config.h: configurator
|
|
|
|
./configurator > $@
|
2022-04-14 10:52:29 -04:00
|
|
|
|
2022-07-06 11:19:23 -04:00
|
|
|
configurator: configurator.c
|
2022-04-14 10:52:29 -04:00
|
|
|
$(CC) $< -o $@
|
|
|
|
|
|
|
|
clean:
|
2022-08-08 18:31:38 -04:00
|
|
|
rm -f nostril *.o *.a
|
|
|
|
rm -rf deps/secp256k1
|
2022-04-14 10:52:29 -04:00
|
|
|
|
|
|
|
tags: fake
|
|
|
|
ctags *.c *.h
|
|
|
|
|
|
|
|
.PHONY: fake
|