summaryrefslogtreecommitdiffstats
path: root/retiolum/Makefile
blob: 5468346955cf2512f740f196baa157e8044d1cf0 (plain)
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
48
49
50
51
52
53
54
.PHONY: update all install hosts

EXES := update_tinc_hosts fillxx update-retiolum-hosts

all: update links 

links:
	for x in $(EXES); do ln -snf ../retiolum/bin/$$x ../bin; done


install: upgrade
	sudo cp scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up

upgrade: update
	if ! sudo diff -u scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up; then \
		sudo cp scripts/tinc_setup/tinc-up /etc/tinc/retiolum/tinc-up; \
		sudo pkill -HUP tincd || :; \
	fi

update: hosts
	bin/update_tinc_hosts "create magic" || :;
	bin/update_tinc_hosts restart
	sudo pkill -HUP tincd || :; 

startup:
	scripts/autostart/create-startup.sh

hosts:
	bin/update-retiolum-hosts || :;
	sudo bin/patch-retiolum-hosts

test:
	@export PATH="$(CURDIR)/bin:$(PATH)"; \
		tests="`find t -type f -executable`"; \
		i=1; \
		pids="";\
		n=`echo "$$tests" | wc -l`; \
		echo $$i..$$n; \
		for exe in $$tests; do \
			{ \
				./$$exe; \
				ret=$$?; \
				case $$ret in 0) result=ok;; *) result='not ok';; esac; \
				echo $$result $$i - $$exe; \
				exit $$ret;\
			} & \
			pids="$${pids} $$!" \
			i=$$(( i+1 )); \
		done; \
		ret=0;\
		for pid in $$pids; do \
			wait $$pid || ret=23;\
		done; \
		exit $$ret;