forked from breard-r/acmed
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
47 lines (38 loc) · 1.41 KB
/
Makefile
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
PREFIX = /usr
EXEC_PREFIX = $(PREFIX)
BINDIR = $(EXEC_PREFIX)/bin
DATAROOTDIR = $(PREFIX)/share
DATADIR = $(DATAROOTDIR)
SYSCONFDIR = /etc
TARGET_DIR = ./target/release
EXE_NAMES = acmed \
tacd
EXE_FILES = $(foreach name,$(EXE_NAMES),$(TARGET_DIR)/$(name))
MAN_SRC_DIR = ./man/en
MAN_DST_DIR = $(TARGET_DIR)/man
MAN_SRC = acmed.8 \
acmed.toml.5 \
tacd.8
MAN_FILES = $(foreach name,$(MAN_SRC),$(MAN_DST_DIR)/$(name).gz)
all: $(EXE_FILES) man
man: $(MAN_DST_DIR) $(MAN_FILES)
$(EXE_NAMES): %: $(TARGET_DIR)/%
$(EXE_FILES): $(TARGET_DIR)/%: %/Cargo.toml
cargo build --release --bin $(subst /Cargo.toml,,$<)
strip $@
$(MAN_DST_DIR):
@mkdir -p $(MAN_DST_DIR)
$(MAN_DST_DIR)/%.gz: $(MAN_SRC_DIR)/%
gzip <"$<" >"$@"
install:
install -D --mode=0755 $(TARGET_DIR)/acmed $(DESTDIR)$(BINDIR)/acmed
install -D --mode=0755 $(TARGET_DIR)/tacd $(DESTDIR)$(BINDIR)/tacd
install -D --mode=0644 $(TARGET_DIR)/man/acmed.8.gz $(DESTDIR)$(DATADIR)/man/man8/acmed.8.gz
install -D --mode=0644 $(TARGET_DIR)/man/acmed.toml.5.gz $(DESTDIR)$(DATADIR)/man/man5/acmed.toml.5.gz
install -D --mode=0644 $(TARGET_DIR)/man/tacd.8.gz $(DESTDIR)$(DATADIR)/man/man8/tacd.8.gz
install -D --mode=0644 acmed/acmed_example.toml $(DESTDIR)$(SYSCONFDIR)/acmed/acmed.toml
install -d --mode=0700 $(DESTDIR)$(SYSCONFDIR)/acmed/accounts
install -d --mode=0755 $(DESTDIR)$(SYSCONFDIR)/acmed/certs
clean:
cargo clean
.PHONY: $(EXE_NAMES) all clean install man