diff options
Diffstat (limited to 'EndoForge/Makefile')
-rw-r--r-- | EndoForge/Makefile | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/EndoForge/Makefile b/EndoForge/Makefile index 46f1af4..3846ebd 100644 --- a/EndoForge/Makefile +++ b/EndoForge/Makefile | |||
@@ -1,13 +1,18 @@ | |||
1 | ENDOFORGE_BACKUPS = y | ||
2 | ifneq (,$(ENDOFORGE_BACKUPS)) | ||
3 | INSTALL := install -b --suffix=~$(shell date -Ins | tr -d :) | ||
4 | else | ||
5 | INSTALL = install | ||
6 | endif | ||
7 | |||
1 | ifeq ($(shell id -u),0) | 8 | ifeq ($(shell id -u),0) |
2 | SUDO = | 9 | SUDO = |
3 | else | 10 | else |
4 | SUDO = sudo | 11 | SUDO = sudo |
5 | endif | 12 | endif |
6 | 13 | ||
7 | ROOT_INSTALL = $(SUDO) install | 14 | ROOT_INSTALL = $(SUDO) $(INSTALL) |
8 | |||
9 | USER != echo "$${SUDO_USER:-$$(id -un)}" | 15 | USER != echo "$${SUDO_USER:-$$(id -un)}" |
10 | |||
11 | SSH_CONFIG_DIR = /etc/ssh | 16 | SSH_CONFIG_DIR = /etc/ssh |
12 | SSHD_CONFIG_DIR = $(SSH_CONFIG_DIR)/sshd_config.d | 17 | SSHD_CONFIG_DIR = $(SSH_CONFIG_DIR)/sshd_config.d |
13 | SSH_LIB_DIR = /usr/lib/ssh | 18 | SSH_LIB_DIR = /usr/lib/ssh |
@@ -15,7 +20,7 @@ USER_SSH_CONFIG_DIR = ~$(USER)/.ssh | |||
15 | 20 | ||
16 | BROWSER != 2>/dev/null which xdg-open || which w3m || which links || which elinks | 21 | BROWSER != 2>/dev/null which xdg-open || which w3m || which links || which elinks |
17 | 22 | ||
18 | .PHONY: install shared doc test | 23 | .PHONY: install install-user install-root shared doc test |
19 | 24 | ||
20 | doc: README.html | 25 | doc: README.html |
21 | $(BROWSER) $< | 26 | $(BROWSER) $< |
@@ -24,17 +29,27 @@ shared: install | |||
24 | git config core.self-forge true | 29 | git config core.self-forge true |
25 | 30 | ||
26 | SRC = src | 31 | SRC = src |
27 | SOURCES = $(addprefix $(SRC), AnonymousAccessCommand anonymous-access.conf AuthorizedKeysCommand) | 32 | SOURCE_NAMES = AnonymousAccessCommand anonymous-access.conf AuthorizedKeysCommand sshd_config |
33 | SOURCES = $(addprefix $(SRC), $(SOURCE_NAMES)) | ||
34 | |||
35 | install: install-user install-root | ||
28 | 36 | ||
29 | install: | 37 | install-user: |
30 | install -t $(USER_SSH_CONFIG_DIR) $(SRC)/AnonymousAccessCommand | 38 | $(INSTALL) -d ~/.ssh |
31 | $(ROOT_INSTALL) -d "$(SSH_CONFIG_DIR)" "$(SSHD_CONFIG_DIR)" "$(SSH_LIB_DIR)" || true | 39 | $(INSTALL) -t ~/.ssh $(SRC)/AnonymousAccessCommand |
40 | $(INSTALL) -m0600 -t ~/.ssh $(SRC)/sshd_config | ||
41 | |||
42 | install-root: | ||
43 | $(ROOT_INSTALL) -d "$(SSH_CONFIG_DIR)" "$(SSHD_CONFIG_DIR)" "$(SSH_LIB_DIR)" || true | ||
32 | $(ROOT_INSTALL) -m0644 -t "$(SSHD_CONFIG_DIR)" $(SRC)/anonymous-access.conf || true | 44 | $(ROOT_INSTALL) -m0644 -t "$(SSHD_CONFIG_DIR)" $(SRC)/anonymous-access.conf || true |
33 | $(ROOT_INSTALL) -t "$(SSH_LIB_DIR)" $(SRC)/AuthorizedKeysCommand || true | 45 | $(ROOT_INSTALL) -t "$(SSH_LIB_DIR)" $(SRC)/AuthorizedKeysCommand || true |
34 | [ -e "$(SSH_LIB_DIR)"/AuthorizedKeysCommand ] || $(SUDO) ln -s -t /etc/ssh "$(SSH_LIB_DIR)"/AuthorizedKeysCommand | 46 | [ -e "$(SSH_LIB_DIR)"/AuthorizedKeysCommand ] || $(SUDO) ln -s -t /etc/ssh "$(SSH_LIB_DIR)"/AuthorizedKeysCommand |
35 | 47 | ||
48 | run: install-user | ||
49 | /usr/sbin/sshd -D -e -f ~/.ssh/sshd_config | ||
50 | |||
36 | README.html: README.md | 51 | README.html: README.md |
37 | pandoc -s --css style.css -t html $< -o $@ | 52 | pandoc --metadata 'EndoForge - A self-forge in any git repository' -s --css style.css -t html $< -o $@ |
38 | 53 | ||
39 | test: | 54 | test: |
40 | make -C test | 55 | make -C test |