summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 00ee8696e93e6015faaa664d0e905ff9e24e206a (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
DESTDIR=/
CC = cc
cflags = -O0 -Wall -I. -fpic -Wformat-security -Wextra -pedantic -g3
ldflags = $(shell pkg-config --libs sqlite3) -lmicrohttpd -lmd # -lintl
PROJ = prijave
# cflags and ldflags are used so that users specifying CFLAGS and LDFLAGS do not override my flags
# += is not used, because gcc usually accepts last option, for example -O0 -O2 will use -O2
.NOTPARALLEL:
default:
	$(CC) -L. $(cflags) $(CFLAGS) $(PROJ).c $(ldflags) $(LDFLAGS) -o$(PROJ)

install: default
	mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/etc $(DESTDIR)/usr/share/$(PROJ)
	cp $(PROJ) $(DESTDIR)/usr/bin/
	cp *.html $(DESTDIR)/usr/share/$(PROJ)/
	-[ ! -f $(DESTDIR)/etc/$(PROJ) ] && cp $(PROJ).conf $(DESTDIR)/etc/$(PROJ)

distclean: clean

clean:
	rm -f $(PROJ)

uninstall:
	rm -f $(DESTDIR)/usr/bin/$(PROJ)

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

.PHONY: valgrind clean distclean install uninstall default