summary refs log tree commit diff
path: root/Makefile
blob: 39324d82966896c04eae8af006325327bd91ee6e (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
PREFIX ?= /usr/local
BINDIR ?= ${PREFIX}/bin
MANDIR ?= ${PREFIX}/man

CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
LDADD.crypt = -lcrypt
LDADD.libtls = -ltls

BINS = calico pounce
MANS = ${BINS:=.1}

-include config.mk

LDLIBS.calico =
LDLIBS.pounce = ${LDADD.crypt} ${LDADD.libtls}

OBJS.calico += dispatch.o

OBJS.pounce += bounce.o
OBJS.pounce += cert.o
OBJS.pounce += client.o
OBJS.pounce += config.o
OBJS.pounce += local.o
OBJS.pounce += ring.o
OBJS.pounce += server.o
OBJS.pounce += state.o
OBJS.pounce += xdg.o

OBJS = ${OBJS.calico} ${OBJS.pounce}

dev: tags all

all: ${BINS}

calico: ${OBJS.calico}

pounce: ${OBJS.pounce}

${BINS}:
	${CC} ${LDFLAGS} ${OBJS.$@} ${LDLIBS.$@} -o $@

${OBJS.pounce}: bounce.h

tags: *.[ch]
	ctags -w *.[ch]

clean:
	rm -f ${BINS} ${OBJS} tags

install: ${BINS} ${MANS}
	install -d ${DESTDIR}${BINDIR} ${DESTDIR}${MANDIR}/man1
	install ${BINS} ${DESTDIR}${BINDIR}
	install -m 644 ${MANS} ${DESTDIR}${MANDIR}/man1

uninstall:
	rm -f ${BINS:%=${DESTDIR}${BINDIR}/%}
	rm -f ${MANS:%=${DESTDIR}${MANDIR}/man1/%}

localhost.pem: pounce
	./pounce -g $@