summary refs log tree commit diff
path: root/Makefile
blob: 9e581faa985c1fbb60bca8b131d11c16b7e740ee (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
PREFIX = /usr/local
MANDIR = ${PREFIX}/man
ETCDIR = ${PREFIX}/etc
LIBRESSL_PREFIX = /usr/local

CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
CFLAGS += -I${LIBRESSL_PREFIX}/include
LDFLAGS += -L${LIBRESSL_PREFIX}/lib
LDLIBS = -lcrypt -ltls

BINS = calico pounce
MANS = ${BINS:=.1}
RCS  = ${BINS:%=rc.d/%}
DIRS = ${ETCDIR}/pounce /var/run/calico

-include config.mk

OBJS += bounce.o
OBJS += client.o
OBJS += config.o
OBJS += listen.o
OBJS += ring.o
OBJS += server.o
OBJS += state.o

all: tags ${BINS}

calico: dispatch.o
	${CC} ${LDFLAGS} dispatch.o -o $@

pounce: ${OBJS}
	${CC} ${LDFLAGS} ${OBJS} ${LDLIBS} -o $@

${OBJS}: bounce.h

tags: *.c *.h
	ctags -w *.c *.h

clean:
	rm -f tags ${BINS} ${OBJS} dispatch.o

install: ${BINS} ${MANS} ${RCS}
	install -d ${PREFIX}/bin ${MANDIR}/man1 ${ETCDIR}/rc.d
	install ${BINS} ${PREFIX}/bin
	install -m 644 ${MANS} ${MANDIR}/man1
	install ${RCS} ${ETCDIR}/rc.d
	install -d ${DIRS}

uninstall:
	rm -f ${BINS:%=${PREFIX}/bin/%}
	rm -f ${MANS:%=${MANDIR}/man1/%}
	rm -f ${RCS:%=${ETCDIR}/%}
	rmdir ${DIRS}

localhost.crt:
	printf "[dn]\nCN=localhost\n[req]\ndistinguished_name=dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth" \
		| openssl req -x509 -out localhost.crt -keyout localhost.key \
		-newkey rsa:2048 -nodes -sha256 \
		-subj '/CN=localhost' -extensions EXT -config /dev/fd/0
configJune McEnroe 2013-10-31Fix host in prompt, part twoJune McEnroe 2013-10-31Fix host in promptJune McEnroe 2013-10-31Wow look reorganized zsh configJune McEnroe 2013-10-30Show hostname in prompt over SSHJune McEnroe 2013-10-30Only load chruby if it existsJune McEnroe 2013-10-27Add auto-title stuff to zshJune McEnroe 2013-10-26Add gvim alias to silence stderrJune McEnroe 2013-10-26Add home.programble.me functionJune McEnroe 2013-10-14Remove unused configsJune McEnroe 2013-10-14Add therefore, because, cards compose sequencesJune McEnroe 2013-10-14Global git ignore .swo filesJune McEnroe 2013-10-14Add Heroku to zshJune McEnroe 2013-09-23Add gst git stash aliasJune McEnroe 2013-09-06Disable some options in terminalsJune McEnroe 2013-09-05Only set colorscheme for gvimJune McEnroe 2013-09-05Remove pacman stuffJune McEnroe Goodbye Arch. 2013-09-05Only alias hub if it existsJune McEnroe 2013-09-05chruby to ruby-2.0.0June McEnroe 2013-08-17Add vim-ragtagJune McEnroe 2013-08-14Add nvmJune McEnroe 2013-07-09Add title commandJune McEnroe 2013-06-09Use default client keysJune McEnroe 2013-06-09Run games in separate X serverJune McEnroe 2013-06-08Add game wrapper to kill/restart unclutterJune McEnroe 2013-06-08Update base16-vimJune McEnroe 2013-06-08Add git configJune McEnroe