Makefile: use envsubst for processing .in files

pull/260/head
Asbjørn Apeland 2018-11-20 09:55:09 +01:00
parent de851955b6
commit e2e1e0addb
2 changed files with 5 additions and 13 deletions

View File

@ -20,16 +20,8 @@ SYSTEMDDIR = $(PREFIX)/lib/systemd/system
MAN1DIR = $(PREFIX)/share/man/man1 MAN1DIR = $(PREFIX)/share/man/man1
MAN5DIR = $(PREFIX)/share/man/man5 MAN5DIR = $(PREFIX)/share/man/man5
replace_vars = sed \ # make variables accessible to `envsubst`
-e "s|@PN@|$(PN)|g" \ .EXPORT_ALL_VARIABLES:
-e "s|@CONFDIR@|$(CONFDIR)|g" \
-e "s|@CRONDIR@|$(CRONDIR)|g" \
-e "s|@BINDIR@|$(BINDIR)|g" \
-e "s|@DOCDIR@|$(DOCDIR)|g" \
-e "s|@SCRIPTDIR@|$(SCRIPTDIR)|g" \
-e "s|@SYSTEMDDIR@|$(SYSTEMDDIR)|g" \
-e "s|@MAN1DIR@|$(MAN1DIR)|g" \
-e "s|@MAN5DIR@|$(MAN5DIR)|g"
all: man all: man
@ -48,8 +40,8 @@ install-etc:
install-systemd: install-systemd:
@echo 'installing systemd service units...' @echo 'installing systemd service units...'
install -d -m 755 "$(DESTDIR)$(SYSTEMDDIR)" install -d -m 755 "$(DESTDIR)$(SYSTEMDDIR)"
$(replace_vars) contrib/systemd/btrbk.service.in > contrib/systemd/btrbk.service.tmp envsubst < contrib/systemd/btrbk.service.in > contrib/systemd/btrbk.service.tmp
$(replace_vars) contrib/systemd/btrbk.timer.in > contrib/systemd/btrbk.timer.tmp envsubst < contrib/systemd/btrbk.timer.in > contrib/systemd/btrbk.timer.tmp
install -p -m 644 contrib/systemd/btrbk.service.tmp "$(DESTDIR)$(SYSTEMDDIR)/btrbk.service" install -p -m 644 contrib/systemd/btrbk.service.tmp "$(DESTDIR)$(SYSTEMDDIR)/btrbk.service"
install -p -m 644 contrib/systemd/btrbk.timer.tmp "$(DESTDIR)$(SYSTEMDDIR)/btrbk.timer" install -p -m 644 contrib/systemd/btrbk.timer.tmp "$(DESTDIR)$(SYSTEMDDIR)/btrbk.timer"
rm contrib/systemd/btrbk.service.tmp rm contrib/systemd/btrbk.service.tmp

View File

@ -4,4 +4,4 @@ Documentation=man:btrbk(1)
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=@BINDIR@/btrbk run ExecStart=${BINDIR}/btrbk run