master Makefile
 1# C Stuff
 2CC = cc
 3VER = 2.26
 4GIT_VER != git describe --always --tags 2>/dev/null || echo unknown
 5CPPFLAGS = -D_POSIX_C_SOURCE=200809L -DGIT_VER=\"$(GIT_VER)\" -DVERSION=\"$(VER)\"
 6CFLAGS = -std=c99 -Wall -Wextra -Iserver/include -pthread
 7SRC = server/config.c \
 8      server/http.c \
 9      server/json.c \
10      server/parados.c \
11      server/scan.c \
12      server/users.c \
13      server/util.c
14
15OUT = parados
16
17# Install Paths
18ETCDIR  = /etc
19PREFIX  = /usr/local
20BINDIR  = $(PREFIX)/bin
21MANDIR  = $(PREFIX)/man
22MAN1DIR = $(MANDIR)/man1
23MAN5DIR = $(MANDIR)/man5
24MAN7DIR = $(MANDIR)/man7
25
26all: release
27
28release:
29	$(CC) $(CPPFLAGS) -DNDEBUG $(CFLAGS) -O2 $(SRC) -o $(OUT)
30
31debug:
32	$(CC) $(CPPFLAGS) -DDEBUG $(CFLAGS) -g $(SRC) -o $(OUT)
33
34clean:
35	rm -f $(OUT)
36
37install: all
38	mkdir -p $(DESTDIR)$(BINDIR)
39	cp $(OUT) $(DESTDIR)$(BINDIR)/$(OUT)
40	chmod 755 $(DESTDIR)$(BINDIR)/$(OUT)
41
42	mkdir -p $(DESTDIR)$(MAN1DIR)
43	mkdir -p $(DESTDIR)$(MAN5DIR)
44	mkdir -p $(DESTDIR)$(MAN7DIR)
45
46	cp docs/parados.1 $(DESTDIR)$(MAN1DIR)/parados.1
47	cp docs/parados.conf.5 $(DESTDIR)$(MAN5DIR)/parados.conf.5
48	cp docs/parados.7 $(DESTDIR)$(MAN7DIR)/parados.7
49
50	chmod 644 $(DESTDIR)$(MAN1DIR)/parados.1
51	chmod 644 $(DESTDIR)$(MAN5DIR)/parados.conf.5
52	chmod 644 $(DESTDIR)$(MAN7DIR)/parados.7
53
54install-conf:
55	mkdir -p $(DESTDIR)$(ETCDIR)
56	cp parados.conf $(DESTDIR)$(ETCDIR)/parados.conf
57	chmod 644 $(DESTDIR)$(ETCDIR)/parados.conf
58
59install-rcctl:
60	install -m 0555 scripts/openbsd-parados.sh /etc/rc.d/parados
61
62install-openrc:
63	install -m 0555 scripts/openrc-parados /etc/init.d/parados
64
65uninstall:
66	rm -f $(DESTDIR)$(BINDIR)/$(OUT)
67	rm -f $(DESTDIR)$(MAN1DIR)/parados.1
68	rm -f $(DESTDIR)$(MAN5DIR)/parados.conf.5
69	rm -f $(DESTDIR)$(MAN7DIR)/parados.7
70
71compile_flags:
72	rm -f compile_flags.txt
73	for f in ${CPPFLAGS} ${CFLAGS}; do echo $$f >> compile_flags.txt; done
74
75.PHONY: all release debug clean install install-conf install-rcctl install-openrc uninstall compile_flags
76