commit 7cdd3af

uint  ·  2026-01-31 13:53:27 +0000 UTC
parent 7e2932e
update Makefile, add install options

ALSO COMMIT 67

.
1 files changed,  +44, -2
+44, -2
 1@@ -1,21 +1,63 @@
 2+# C Stuff
 3 CC ?= cc
 4 VER = 1.26
 5 GIT_VER != git describe --always --tags 2>/dev/null || echo unknown
 6 CPPFLAGS = -D_POSIX_C_SOURCE=200809L -DGIT_VER=\"$(GIT_VER)\" -DVERSION=\"$(VER)\"
 7 CFLAGS = -std=c99 -Wall -Wextra -Iserver/include -pthread
 8+SRC = server/*.c
 9 OUT = parados
10 
11+# Install Paths
12+ETCDIR  ?= /etc
13+PREFIX  ?= /usr/local
14+BINDIR  ?= $(PREFIX)/bin
15+MANDIR  ?= $(PREFIX)/man
16+MAN1DIR ?= $(MANDIR)/man1
17+MAN5DIR ?= $(MANDIR)/man5
18+MAN7DIR ?= $(MANDIR)/man7
19+
20 all: release
21 
22 release:
23-	$(CC) $(CPPFLAGS) -DNDEBUG $(CFLAGS) -O2 server/*.c -o $(OUT)
24+	$(CC) $(CPPFLAGS) -DNDEBUG $(CFLAGS) -O2 $(SRC) -o $(OUT)
25 
26 debug:
27-	$(CC) $(CPPFLAGS) -DDEBUG $(CFLAGS) -g server/*.c -o $(OUT)
28+	$(CC) $(CPPFLAGS) -DDEBUG $(CFLAGS) -g $(SRC) -o $(OUT)
29 
30 clean:
31 	rm -f $(OUT)
32 
33+install: all
34+	mkdir -p $(DESTDIR)$(BINDIR)
35+	cp $(OUT) $(DESTDIR)$(BINDIR)/$(OUT)
36+	chmod 755 $(DESTDIR)$(BINDIR)/$(OUT)
37+
38+	mkdir -p $(DESTDIR)$(MAN1DIR)
39+	mkdir -p $(DESTDIR)$(MAN5DIR)
40+	mkdir -p $(DESTDIR)$(MAN7DIR)
41+
42+	cp man/parados.1 $(DESTDIR)$(MAN1)/parados.1
43+	cp man/parados.conf.5 $(DESTDIR)$(MAN5)/parados.conf.5
44+	cp man/parados.7 $(DESTDIR)$(MAN7)/parados.7
45+
46+	chmod 644 $(DESTDIR)$(MAN1DIR)/parados.1
47+	chmod 644 $(DESTDIR)$(MAN5DIR)/parados.conf.5
48+	chmod 644 $(DESTDIR)$(MAN7DIR)/parados.7
49+
50+install-conf:
51+	mkdir -p $(DESTDIR)$(ETCDIR)
52+	cp parados.conf $(DESTDIR)$(ETCDIR)/parados.conf
53+	chmod 644 $(DESTDIR)$(ETCDIR)/parados.conf
54+
55+uninstall:
56+	rm -f $(DESTDIR)$(BINDIR)/$(OUT)
57+	rm -f $(DESTDIR)$(MAN1)/parados.1
58+	rm -f $(DESTDIR)$(MAN5)/parados.conf.5
59+	rm -f $(DESTDIR)$(MAN7)/parados.7
60+
61 compile_flags:
62 	rm -f compile_flags.txt
63 	for f in ${CPPFLAGS} ${CFLAGS}; do echo $$f >> compile_flags.txt; done
64+
65+.PHONY: all release debug clean install install-conf uninstall compile_flags
66+