summaryrefslogtreecommitdiffstats
path: root/makefile
blob: c513bbc483b8ec4861e91b57a576569ba81d7642 (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
DESTDIR=/
CC=cc
MYCFLAGS=-Wall -Wextra -Wformat -pedantic -g -Isrc -Itmp -Itiny-AES-c
MYLDFLAGS=-lresolv -lmd

default:
	mkdir -p tmp
	# -fsanitize-address
	$(CC) $(MYCFLAGS) $(CFLAGS) src/main.c -otravnik $(MYLDFLAGS) $(LDFLAGS)

utils:
	$(CC) $(MYCFLAGS) $(CFLAGS) utils/midpoint.c -otmp/midpoint $(MYLDFLAGS) $(LDFLAGS)
	$(CC) $(MYCFLAGS) $(CFLAGS) utils/bencoding.c -otmp/bencoding $(MYLDFLAGS) $(LDFLAGS)
	$(CC) $(MYCFLAGS) $(CFLAGS) utils/dns.c -otmp/dns $(MYLDFLAGS) $(LDFLAGS)

install:
	mkdir -p $(DESTDIR)/usr/bin/
	cp travnik $(DESTDIR)/usr/bin/

distclean: clean

clean:
	rm -rf travnik tmp test-eval

prepare:
	sudo apt install libmicrohttpd-dev build-essential default-libmysqlclient-dev -y

valgrind:
	valgrind --error-exitcode=59 --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt $(CMD)

.PHONY: default install distclean clean prepare valgrind utils