1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# SPDX-License-Identifier: LGPL-2.1-or-later
# Copyright (c) 2026 Jarkko Sakkinen
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
MANDIR ?= $(PREFIX)/share/man
DOCDIR ?= $(PREFIX)/share/doc/goosedump
CARGO ?= cargo
CROSS ?= cross
INSTALL ?= install
NODE ?= node
NPM ?= npm
.PHONY: all check ci clippy source-policy package publish install uninstall clean
all:
$(CARGO) build
check: source-policy
$(CARGO) build
$(CARGO) clippy --all-targets
ci:
CARGO="$(CARGO)" NODE="$(NODE)" NPM="$(NPM)" ./scripts/ci.sh
clippy: source-policy
$(CARGO) clippy --all-targets
source-policy:
./scripts/check-rust-source.sh
package:
CROSS="$(CROSS)" NODE="$(NODE)" ./scripts/package.sh $(PLATFORMS)
publish:
CARGO="$(CARGO)" NODE="$(NODE)" NPM="$(NPM)" \
./scripts/publish.sh "$(VERSION)"
install:
$(CARGO) build --release
$(INSTALL) -d "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(DOCDIR)"
$(INSTALL) -m 755 target/release/goosedump "$(DESTDIR)$(BINDIR)/goosedump"
$(INSTALL) -m 644 man/man1/goosedump.1 "$(DESTDIR)$(MANDIR)/man1/goosedump.1"
uninstall:
$(RM) "$(DESTDIR)$(BINDIR)/goosedump"
$(RM) "$(DESTDIR)$(MANDIR)/man1/goosedump.1"
clean:
$(CARGO) clean
$(RM) -r artifacts
$(RM) -r npm/*/bin