2023-03-25 22:12:01 +00:00
|
|
|
VERSION := $(shell cat version.txt)
|
|
|
|
ARCH := $(shell uname -m)
|
2023-03-25 22:27:33 +00:00
|
|
|
PREFIX = /usr/local
|
2023-03-25 22:12:01 +00:00
|
|
|
|
2023-03-25 21:32:48 +00:00
|
|
|
all: run-many run-many.1
|
2023-03-25 21:21:46 +00:00
|
|
|
src/version.zig: version.txt
|
|
|
|
version=`cat version.txt`; echo "pub const version = \"$$version\";" > $@
|
|
|
|
run-many.1: run-many.1.scd version.txt
|
|
|
|
version=`cat version.txt`; scdoc < $< | sed "s/@VERSION@/$$version/" > $@
|
2023-03-25 21:32:48 +00:00
|
|
|
run-many: src/epoll.zig src/version.zig
|
|
|
|
zig build -Drelease-small
|
2023-03-25 22:25:16 +00:00
|
|
|
zig build install -p .
|
|
|
|
mv ./bin/run-many .
|
|
|
|
rmdir bin
|
2023-03-25 22:12:01 +00:00
|
|
|
|
2023-03-25 22:27:33 +00:00
|
|
|
install: all
|
|
|
|
mkdir -p $(DISTDIR)$(PREFIX)/bin $(DISTDIR)$(PREFIX)/share/man/man1
|
|
|
|
install -m 755 run-many $(DISTDIR)$(PREFIX)/bin
|
|
|
|
install -m 644 run-many.1 $(DISTDIR)$(PREFIX)/share/man/man1
|
|
|
|
|
2023-03-25 22:12:01 +00:00
|
|
|
# Create three distribution archives -- "user" one, with all
|
|
|
|
# architecture-independent files pre-built, "dist" which contains only files
|
|
|
|
# strictly necessary for build process and "binary" which contains binary and
|
|
|
|
# manpage.
|
|
|
|
|
|
|
|
# "user" archive complies with autotools conventions, "dist" one targets Linux
|
|
|
|
# distributions which rebuild everything from scratch, and "binary" is for
|
|
|
|
# people who for some reason trust me.
|
|
|
|
|
|
|
|
dist: run-many-$(VERSION).user.tar.xz
|
|
|
|
dist: run-many-$(VERSION).dist.tar.xz
|
|
|
|
dist: run-many-$(VERSION).$(ARCH).tar.xz
|
|
|
|
|
2023-03-25 22:20:52 +00:00
|
|
|
sign: run-many-$(VERSION).user.tar.xz.sig
|
|
|
|
sign: run-many-$(VERSION).dist.tar.xz.sig
|
|
|
|
sign: run-many-$(VERSION).$(ARCH).tar.xz.sig
|
|
|
|
|
2023-03-25 22:32:46 +00:00
|
|
|
DISTFILES_SOURCES = Makefile build.zig version.txt main.zig run-many.1.scd src/epoll.zig
|
|
|
|
DISTFILES_GENERATED = $(DISTFILES_SOURCES) src/version.zig run-many.1
|
2023-03-25 22:12:01 +00:00
|
|
|
|
|
|
|
# Below assumes GNU Tar, which is okay, since these targets are only run on
|
|
|
|
# maintainer system.
|
|
|
|
run-many-$(VERSION).user.tar.xz: $(DISTFILES_GENERATED)
|
|
|
|
ln -sf . run-many-$(VERSION).user
|
|
|
|
tar --xz --create --dereference --file $@ $(patsubst %, run-many-$(VERSION).user/%, $(DISTFILES_GENERATED))
|
|
|
|
unlink run-many-$(VERSION).user
|
|
|
|
|
|
|
|
run-many-$(VERSION).dist.tar.xz: $(DISTFILES_SOURCES)
|
|
|
|
ln -sf . run-many-$(VERSION)
|
|
|
|
tar --xz --create --dereference --file $@ $(patsubst %, run-many-$(VERSION)/%, $(DISTFILES_SOURCES))
|
|
|
|
unlink run-many-$(VERSION)
|
|
|
|
|
|
|
|
run-many-$(VERSION).$(ARCH).tar.xz: run-many run-many.1
|
|
|
|
mkdir -p run-many-$(VERSION).$(ARCH)/bin
|
|
|
|
mkdir -p run-many-$(VERSION).$(ARCH)/share/man/man1/
|
|
|
|
cp ./run-many run-many-$(VERSION).$(ARCH)/bin
|
|
|
|
cp ./run-many.1 run-many-$(VERSION).$(ARCH)/share/man/man1/
|
|
|
|
tar --xz --create --dereference --file $@ run-many-$(VERSION).$(ARCH)
|
|
|
|
rm -r run-many-$(VERSION).$(ARCH)
|
2023-03-25 22:20:52 +00:00
|
|
|
|
|
|
|
%.sig: %
|
|
|
|
signify -S -s ~/.ssh/kaction.sec -m $<
|