diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 39 | 
1 files changed, 26 insertions, 13 deletions
| @@ -1,14 +1,14 @@  DESTDIR ?= /usr/local -BUILD_DOCDIR ?= . -MANUAL_FILES = $(addprefix $(BUILD_DOCDIR)/,$(patsubst ./%.md,%,$(wildcard ./*.[1-9].md))) +BUILDDIR ?= ./build +MANUAL_FILES = $(addprefix $(BUILDDIR)/,$(patsubst ./%.md,%,$(wildcard ./*.[1-9].md))) -all: manual +all: manual $(addprefix $(BUILDDIR)/,lacme lacme-accountd client webserver $(wildcard config/* snippets/*))  doc: manual  manual: $(MANUAL_FILES)  # upper case the headers and remove the links -$(MANUAL_FILES): $(BUILD_DOCDIR)/%: ./%.md +$(MANUAL_FILES): $(BUILDDIR)/%: $(BUILDDIR)/%.md  	pandoc -f markdown -t json -- "$<" | ./pandoc2man.jq | pandoc -s -f json -t man -o "$@"  prefix ?= $(DESTDIR) @@ -17,27 +17,40 @@ bindir ?= $(exec_prefix)/bin  sbindir ?= $(exec_prefix)/sbin  libexecdir ?= $(exec_prefix)/libexec  datarootdir ?= $(prefix)/share +datadir ?= $(datarootdir)  sysconfdir ?= $(prefix)/etc +localstatedir =? $(prefix)/var +runstatedir ?= $(localstatedir)/run  mandir ?= $(datarootdir)/man  man1dir ?= $(mandir)/man1  man8dir ?= $(mandir)/man8 +$(BUILDDIR)/%: % +	mkdir -pv -- $(dir $@) +	cp --no-dereference --preserve=mode,links,xattr -vfT -- "$<" "$@" +	sed -i "s#@@bindir@@#$(bindir)#g; \ +	        s#@@sbindir@@#$(sbindir)#g; \ +	        s#@@libexecdir@@#$(libexecdir)#g; \ +	        s#@@datadir@@#$(datadir)#g; \ +	        s#@@runstatedir@@#$(runstatedir)#g; \ +	        s#@@sysconfdir@@#$(sysconfdir)#g;" -- "$@" +  install: all -	install -m0644 -vDt $(sysconfdir)/lacme config/*.conf snippets/*.conf +	install -m0644 -vDt $(sysconfdir)/lacme $(BUILDDIR)/config/*.conf $(BUILDDIR)/snippets/*.conf  	install -vd $(sysconfdir)/lacme/lacme-certs.conf.d -	install -m0644 -vDt $(datarootdir)/lacme certs/lets-encrypt-x[1-4]-cross-signed.pem -	install -m0755 -vDt $(libexecdir)/lacme ./client ./webserver -	install -m0644 -vDt $(man1dir) $(BUILD_DOCDIR)/lacme-accountd.1 -	install -m0644 -vDt $(man8dir) $(BUILD_DOCDIR)/lacme.8 -	install -m0644 -vDt $(bindir) ./lacme-accountd -	install -m0644 -vDt $(sbindir) ./lacme +	install -m0644 -vDt $(datadir)/lacme certs/lets-encrypt-x[1-4]-cross-signed.pem +	install -m0755 -vDt $(libexecdir)/lacme $(BUILDDIR)/client $(BUILDDIR)/webserver +	install -m0644 -vDt $(man1dir) $(BUILDDIR)/lacme-accountd.1 +	install -m0644 -vDt $(man8dir) $(BUILDDIR)/lacme.8 +	install -m0644 -vDt $(bindir) $(BUILDDIR)/lacme-accountd +	install -m0644 -vDt $(sbindir) $(BUILDDIR)/lacme  uninstall:  	rm -vf -- $(bindir)/lacme-accountd $(sbindir)/lacme  	rm -vf -- $(man1dir)/lacme-accountd.1 $(man8dir)/lacme.8 -	rm -rvf -- $(sysconfdir)/lacme $(datarootdir)/lacme $(libexecdir)/lacme +	rm -rvf -- $(sysconfdir)/lacme $(datadir)/lacme $(libexecdir)/lacme  clean: -	rm -vf -- $(MANUAL_FILES) +	rm -rvf -- $(BUILDDIR)  .PHONY: all doc manual install uninstall clean | 
