aboutsummaryrefslogtreecommitdiff
path: root/GNUmakefile
blob: f6e0f7cb9133a68830c4b658314327cdc0f4ec17 (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
CC=clang
DEBUG=-g
CFLAGS= ${DEBUG} -Wall -Werror -Wextra

sources=$(wildcard src/*.c)
OBJ=$(sources:.c=.o)

all: bastion

bastion: $(OBJ)
	$(CC) ${DEBUG} -o bastion $(OBJ) -lssh -lpthread -lssh_threads -lutil

clean:
	$(RM) bastion *.[do] src/*.[do]

%.o: %.c
	$(CC) -c $(CFLAGS) $*.c -o $*.o
	$(CC) -MM $(CFLAGS) $*.c > $*.d
	@mv -f $*.d $*.d.tmp
	@sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
	@sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
	@rm -f $*.d.tmp

valgrind:
	valgrind --leak-check=full --show-leak-kinds=all --suppressions=$HOME/.valgrind_suppressions ./bastion
	#valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=$HOME/.valgrind_suppressions --gen-suppressions=yes ./bastion