aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 007b02cceceb099c1c0d6743e2d16e9f1fd7da9a (plain) (blame)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# This source code is released into the public domain.

PREFIX?=	/usr/local
DESTDIR?=

LIBDIR?=	${DESTDIR}${PREFIX}/share/lfacme
BINDIR?=	${DESTDIR}${PREFIX}/sbin
CONFDIR?=	${DESTDIR}${PREFIX}/etc
MANDIR?=	${DESTDIR}${PREFIX}/share/man
MAN5DIR?=	${MANDIR}/man5
MAN7DIR?=	${MANDIR}/man7
MAN8DIR?=	${MANDIR}/man8
HOOKDIR?=	${CONFDIR}/hooks

LIBMODE?=	0644
LIB=		init.sh dnsutils.sh

CHALLENGEMODE?=	0755
CHALLENGE=	dns.sh \
		http.sh \
		kerberos.sh

BINMODE?=	0755
BIN=		lfacme-renew.sh \
		lfacme-setup.sh

CONFMODE?=	0644
CONF=		acme.conf.sample \
		domains.conf.sample

HOOKMODE?=	0755
HOOK=		example-hook.sh

MANMODE?=	0644
MAN5=		acme.conf.5 \
		domains.conf.5
MAN7=		lfacme.7 \
		lfacme-dns.7 \
		lfacme-http.7 \
		lfacme-kerberos.7
MAN8=		lfacme-renew.8 \
		lfacme-setup.8

PERIODICDIR=	/usr/local/etc/periodic/daily
PERIODICMODE?=	0755
PERIODIC=	900.lfacme.sh

default: all

all:
	@echo "Nothing to do."

install: install-lib install-bin install-conf install-hook install-man install-periodic

install-lib:
	@echo 'create ${LIBDIR}'; install -d ${LIBDIR}
	@for lib in ${LIB}; do \
		echo "install ${LIBDIR}/$$lib"; \
		install -C -m ${LIBMODE} "$$lib" "${LIBDIR}/$$lib"; \
	done
	@echo 'create ${LIBDIR}/challenge'; install -d ${LIBDIR}/challenge;
	@for challenge in ${CHALLENGE}; do \
		basename=$${challenge%*.sh}; \
		echo "install ${LIBDIR}/challenge/$$basename"; \
		install -C -m ${CHALLENGEMODE} "$$challenge" \
			"${LIBDIR}/challenge/$$basename"; \
	done

install-bin:
	@echo 'create ${BINDIR}'; install -d ${BINDIR}
	@for bin in ${BIN}; do \
		basename=$${bin%*.sh}; \
		echo "install ${BINDIR}/$$basename"; \
		install -C -m ${BINMODE} "$$bin" "${BINDIR}/$$basename"; \
	done

install-conf:
	@echo 'create ${CONFDIR}'; install -d ${CONFDIR};
	@for conf in ${CONF}; do \
		echo "install ${CONFDIR}/$$conf"; \
		install -C -m ${CONFMODE} "$$conf" "${CONFDIR}/$$conf"; \
	done

install-hook:
	@echo 'create ${HOOKDIR}'; install -d ${HOOKDIR};
	@for hook in ${HOOK}; do \
		basename=$${hook%*.sh}; \
		echo "install ${HOOKDIR}/$$basename"; \
		install -C -m ${HOOKMODE} "$$hook" "${HOOKDIR}/$$basename"; \
	done

install-man:
	@echo 'create ${MANDIR}'; install -d ${MANDIR}
	@echo 'create ${MAN5DIR}'; install -d ${MAN5DIR}
	@for man in ${MAN5}; do \
		echo "install ${MAN5DIR}/$$man"; \
		install -C -m ${MANMODE} "$$man" "${MAN5DIR}/$$man"; \
	done
	@echo 'create ${MAN7DIR}'; install -d ${MAN7DIR}
	@for man in ${MAN7}; do \
		echo "install ${MAN7DIR}/$$man"; \
		install -C -m ${MANMODE} "$$man" "${MAN7DIR}/$$man"; \
	done
	@echo 'create ${MAN8DIR}'; install -d ${MAN8DIR}
	@for man in ${MAN8}; do \
		echo "install ${MAN8DIR}/$$man"; \
		install -C -m ${MANMODE} "$$man" "${MAN8DIR}/$$man"; \
	done

install-periodic:
	@if [ $$(uname) = "FreeBSD" ]; then \
		echo 'create ${PERIODICDIR}'; install -d ${PERIODICDIR}; \
		for periodic in ${PERIODIC}; do \
			basename=$${periodic%*.sh}; \
			echo "install ${PERIODICDIR}/$$basename"; \
			install -C -m ${PERIODICMODE} "$$periodic" \
				"${PERIODICDIR}/$$basename"; \
		done; \
	fi

.PHONY:	default all install install-lib install-bin install-conf \
	install-hook install-man install-periodic