-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
40 lines (30 loc) · 1.38 KB
/
Copy pathMakefile
File metadata and controls
40 lines (30 loc) · 1.38 KB
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
30
31
32
33
34
35
36
37
38
39
40
#
# dependencies: libasio-dev libicu-dev libcurl-dev libsqlite3-dev
#
CXXFLAGS=-std=c++17 -O3 -Wall # -fsanitize=address -static-libasan
DEPS=asio.h database.h models.h lobby_server.h gate_server.h common.h vms.h sega_crypto.h json.hpp discord.h
INSTALL_DIR=/usr/local/iwango
CGI_INSTALL_DIR=/usr/local
USER=dcnet
all: iwango_server keycutter keycutter.cgi
iwango_server: lobby_server.o models.o packet_processor.o gate_server.o database.o discord.o
$(CXX) $(CXXFLAGS) -o $@ lobby_server.o models.o packet_processor.o gate_server.o database.o discord.o -lpthread -licuuc -lcurl -lsqlite3
keycutter: keycutter.o sega_crypto.o
$(CXX) $(CXXFLAGS) -o keycutter keycutter.o sega_crypto.o
keycutter.cgi: sega_crypto.o keycutter-cgi.o
$(CXX) $(CXXFLAGS) -o keycutter.cgi sega_crypto.o keycutter-cgi.o
%.o: %.cpp $(DEPS)
$(CXX) $(CXXFLAGS) -c -o $@ $<
clean:
rm -f *.o iwango_server keycutter keycutter.cgi
install: iwango_server keycutter.cgi
install iwango_server "$(INSTALL_DIR)"
install keycutter.cgi "$(CGI_INSTALL_DIR)/lib/cgi-bin"
iwango.service: iwango.service.in Makefile
sed -e "s/INSTALL_USER/$(USER)/g" -e "s:INSTALL_DIR:$(INSTALL_DIR):g" < $< > $@
installservice: iwango.service
install -m 0644 $< $(INSTALL_DIR)/lib/systemd
systemctl enable $(INSTALL_DIR)/lib/systemd/$<
createdb: iwango.sql
sqlite3 $(INSTALL_DIR)/iwango.db < iwango.sql
chown $(USER):$(USER) $(INSTALL_DIR)/iwango.db