server: tie regex filters to db_insert_ban
[rb-79.git] / Makefile
blob90a55355286cde3aa6ea58d8abccda5e3506df6a
1 .SUFFIXES:
2 .SUFFIXES: .o .c
4 CFLAGS ?=
5 LDFLAGS ?=
6 PKG_CONFIG ?= pkg-config
8 PREFIX ?= /usr
9 BINDIR ?= $(PREFIX)/bin
10 SHAREDIR ?= $(PREFIX)/share
11 MANDIR ?= $(SHAREDIR)/man
13 CFLAGS += -std=c99 -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE
15 # Do you want logging?
16 CFLAGS += -DWRITE_LOGS=1
18 # fcgi - grumble grumble no pkg-config entry
19 LDFLAGS += -lfcgi
21 # libmagic - grumble grumble no $(PKG_CONFIG) entry
22 LDFLAGS += -lmagic
24 # sqlite3
25 CFLAGS += $(shell $(PKG_CONFIG) --cflags sqlite3)
26 LDFLAGS += $(shell $(PKG_CONFIG) --libs sqlite3)
28 # libpcre2
29 CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre2-8)
30 LDFLAGS += $(shell $(PKG_CONFIG) --libs libpcre2-8)
32 # libsodium
33 CFLAGS += $(shell $(PKG_CONFIG) --cflags libsodium)
34 LDFLAGS += $(shell $(PKG_CONFIG) --libs libsodium)
36 # gmime - one of these day's I'll do it without fscking glib
37 CFLAGS += $(shell $(PKG_CONFIG) --cflags gmime-2.6)
38 LDFLAGS += $(shell $(PKG_CONFIG) --libs gmime-2.6)
40 # Debug
41 # CFLAGS += -g -O0 -pedantic -Wall -Wextra -Werror
43 # The `-O3' makes it go three times faster
44 # CFLAGS += -O3 -pedantic -Wall -Wextra -Werror
46 # If this is `foodb', then you'd better have db-foodb.c ready
47 DB_TYPE = sqlite3
49 default: all
50 all: \
51 rb79-ban-ip \
52 rb79-delete-post \
53 rb79-moderate-post \
54 rb79-server \
55 rb79-update-recent-page \
56 rb79-view-thread
58 SERVER_OFILES = \
59 db-$(DB_TYPE).o \
60 locks.o \
61 multipart.o \
62 preconditions.o \
63 rb79-server.o \
64 sanitize-comment.o \
65 sanitize-file.o \
66 tripcodes.o \
67 util.o \
68 write-thread.o
70 config.h: config.def.h
71 test -f config.h || cp config.def.h config.h
72 touch config.h
74 %.o: %.c config.h rb79.h macros.h unicode-transforms.h
75 $(CC) $(CFLAGS) -c -o $@ $<
77 rb79-server: $(SERVER_OFILES)
78 $(CC) -o $@ $^ $(LDFLAGS)
80 rb79-ban-ip: db-$(DB_TYPE).o locks.o rb79-ban-ip.o util.o \
81 write-thread.o
82 $(CC) -o $@ $^ $(LDFLAGS)
84 rb79-delete-post: db-$(DB_TYPE).o locks.o rb79-delete-post.o util.o \
85 write-thread.o
86 $(CC) -o $@ $^ $(LDFLAGS)
88 rb79-moderate-post: db-$(DB_TYPE).o locks.o rb79-moderate-post.o \
89 util.o write-thread.o
90 $(CC) -o $@ $^ $(LDFLAGS)
92 rb79-update-recent-page: db-$(DB_TYPE).o locks.o write-thread.o util.o \
93 rb79-update-recent-page.o
94 $(CC) -o $@ $^ $(LDFLAGS)
96 rb79-view-thread: db-$(DB_TYPE).o locks.o rb79-view-thread.o util.o \
97 write-thread.o
98 $(CC) -o $@ $^ $(LDFLAGS)
101 .PHONY: clean
102 clean:
103 find -name '*.o' -delete
104 rm -f rb79-server
105 rm -f rb79-ban-ip
106 rm -f rb79-delete-post
107 rm -f rb79-moderate-post
108 rm -f rb79-update-recent-page
109 rm -f rb79-view-thread
111 .PHONY: install
112 install: all
113 mkdir -p $(DESTDIR)$(BINDIR)
114 cp -f rb79-server $(DESTDIR)$(BINDIR)/
115 cp -f tools/rb79-describe-file.sh $(DESTDIR)$(BINDIR)/rb79-describe-file
116 cp -f rb79-ban-ip $(DESTDIR)$(BINDIR)/
117 cp -f rb79-delete-post $(DESTDIR)$(BINDIR)/
118 cp -f rb79-moderate-post $(DESTDIR)$(BINDIR)/
119 cp -f rb79-update-recent-page $(DESTDIR)$(BINDIR)/
120 cp -f rb79-view-thread $(DESTDIR)$(BINDIR)/
121 mkdir -p $(DESTDIR)$(MANDIR)/man1
122 cp -f rb79.1 $(DESTDIR)$(MANDIR)/man1/
123 cp -f rb79-ban-ip.1 $(DESTDIR)$(MANDIR)/man1/
124 cp -f rb79-delete-post.1 $(DESTDIR)$(MANDIR)/man1/
125 cp -f rb79-moderate-post.1 $(DESTDIR)$(MANDIR)/man1/
126 cp -f rb79-server.1 $(DESTDIR)$(MANDIR)/man1/
127 cp -f rb79-update-recent-page.1 $(DESTDIR)$(MANDIR)/man1/
128 cp -f rb79-view-thread.1 $(DESTDIR)$(MANDIR)/man1/
130 .PHONY: uninstall
131 uninstall:
132 cd $(DESTDIR)$(BINDIR) && rm -f rb79-server
133 cd $(DESTDIR)$(BINDIR) && rm -f rb79-describe-file
134 cd $(DESTDIR)$(BINDIR) && rm -f rb79-ban-ip
135 cd $(DESTDIR)$(BINDIR) && rm -f rb79-delete-post
136 cd $(DESTDIR)$(BINDIR) && rm -f rb79-moderate-post
137 cd $(DESTDIR)$(BINDIR) && rm -f rb79-update-recent-page
138 cd $(DESTDIR)$(BINDIR) && rm -f rb79-view-thread
139 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79.1
140 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-ban-ip.1
141 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-delete-post.1
142 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-moderate-post.1
143 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-server.1
144 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-update-recent-page.1
145 cd $(DESTDIR)$(MANDIR) && rm -f man1/rb79-view-thread.1