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