summaryrefslogtreecommitdiff
path: root/EndoForge/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'EndoForge/Makefile')
-rw-r--r--EndoForge/Makefile33
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 @@
1ENDOFORGE_BACKUPS = y
2ifneq (,$(ENDOFORGE_BACKUPS))
3INSTALL := install -b --suffix=~$(shell date -Ins | tr -d :)
4else
5INSTALL = install
6endif
7
1ifeq ($(shell id -u),0) 8ifeq ($(shell id -u),0)
2SUDO = 9SUDO =
3else 10else
4SUDO = sudo 11SUDO = sudo
5endif 12endif
6 13
7ROOT_INSTALL = $(SUDO) install 14ROOT_INSTALL = $(SUDO) $(INSTALL)
8
9USER != echo "$${SUDO_USER:-$$(id -un)}" 15USER != echo "$${SUDO_USER:-$$(id -un)}"
10
11SSH_CONFIG_DIR = /etc/ssh 16SSH_CONFIG_DIR = /etc/ssh
12SSHD_CONFIG_DIR = $(SSH_CONFIG_DIR)/sshd_config.d 17SSHD_CONFIG_DIR = $(SSH_CONFIG_DIR)/sshd_config.d
13SSH_LIB_DIR = /usr/lib/ssh 18SSH_LIB_DIR = /usr/lib/ssh
@@ -15,7 +20,7 @@ USER_SSH_CONFIG_DIR = ~$(USER)/.ssh
15 20
16BROWSER != 2>/dev/null which xdg-open || which w3m || which links || which elinks 21BROWSER != 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
20doc: README.html 25doc: 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
26SRC = src 31SRC = src
27SOURCES = $(addprefix $(SRC), AnonymousAccessCommand anonymous-access.conf AuthorizedKeysCommand) 32SOURCE_NAMES = AnonymousAccessCommand anonymous-access.conf AuthorizedKeysCommand sshd_config
33SOURCES = $(addprefix $(SRC), $(SOURCE_NAMES))
34
35install: install-user install-root
28 36
29install: 37install-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
42install-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
48run: install-user
49 /usr/sbin/sshd -D -e -f ~/.ssh/sshd_config
50
36README.html: README.md 51README.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
39test: 54test:
40 make -C test 55 make -C test