summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 15 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index ddf1e05..d2e0c2d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
1PREFIX?=.. 1PREFIX?=/usr/local
2BINDIR?=$(PREFIX)/bin 2BINDIR?=$(PREFIX)/bin
3MANDIR?=$(PREFIX)/share/man
3STRIP?=strip 4STRIP?=strip
4 5
5#FEATURES+=-DWANT_V4_ONLY 6#FEATURES+=-DWANT_V4_ONLY
@@ -19,6 +20,12 @@ STRIP?=strip
19#FEATURES+=-DWANT_DEV_RANDOM 20#FEATURES+=-DWANT_DEV_RANDOM
20FEATURES+=-DWANT_FULLSCRAPE 21FEATURES+=-DWANT_FULLSCRAPE
21 22
23# Buckets the torrent table is split into, as a power of two, 8 to 16. More
24# buckets make inserting a new torrent cheaper and cost memory, which is worth
25# it for a tracker carrying millions of torrents and not for one carrying
26# thousands. DESIGN has the measurements.
27FEATURES+=-DOT_BUCKET_COUNT_BITS=10
28
22#FEATURES+=-D_DEBUG_HTTPERROR 29#FEATURES+=-D_DEBUG_HTTPERROR
23#FEATURES+=-D_DEBUG_RANDOMTORRENTS 30#FEATURES+=-D_DEBUG_RANDOMTORRENTS
24 31
@@ -33,7 +40,6 @@ include Mk/gzip.mk
33 40
34CFLAGS?=-O3 41CFLAGS?=-O3
35 42
36# What the build requires, whatever you do to those.
37OT_CFLAGS+=-Wall -Wextra -Wwrite-strings -pipe -pthread 43OT_CFLAGS+=-Wall -Wextra -Wwrite-strings -pipe -pthread
38OT_LDFLAGS+=-pthread 44OT_LDFLAGS+=-pthread
39 45
@@ -43,8 +49,8 @@ COMPILE=$(CPPFLAGS) $(OT_CFLAGS) $(FEATURES)
43LINK=$(LDFLAGS) $(OT_LDFLAGS) $(LDLIBS) $(OT_LDLIBS) 49LINK=$(LDFLAGS) $(OT_LDFLAGS) $(LDLIBS) $(OT_LDLIBS)
44 50
45BINARY=opentracker 51BINARY=opentracker
46HEADERS=trackerlogic.h ot_urlencoded.h ot_batch.h ot_buf.h ot_event.h ot_fdstate.h ot_fmt.h ot_hex.h ot_ip.h ot_config.h ot_scan.h ot_socket.h ot_tcp.h ot_worker.h ot_workqueue.h ot_mutex.h ot_random.h ot_stats.h ot_vector.h ot_clean.h ot_udp.h ot_iovec.h ot_fullscrape.h ot_accesslist.h ot_http.h ot_livesync.h ot_rijndael.h 52HEADERS=src/trackerlogic.h src/ot_urlencoded.h src/ot_batch.h src/ot_buf.h src/ot_event.h src/ot_fdstate.h src/ot_fmt.h src/ot_hex.h src/ot_ip.h src/ot_config.h src/ot_scan.h src/ot_socket.h src/ot_tcp.h src/ot_worker.h src/ot_workqueue.h src/ot_mutex.h src/ot_random.h src/ot_stats.h src/ot_vector.h src/ot_clean.h src/ot_udp.h src/ot_iovec.h src/ot_fullscrape.h src/ot_accesslist.h src/ot_http.h src/ot_livesync.h src/ot_rijndael.h
47SOURCES=opentracker.c trackerlogic.c ot_urlencoded.c ot_batch.c ot_buf.c ot_event.c ot_fdstate.c ot_fmt.c ot_hex.c ot_ip.c ot_config.c ot_scan.c ot_socket.c ot_tcp.c ot_worker.c ot_workqueue.c ot_mutex.c ot_random.c ot_stats.c ot_vector.c ot_clean.c ot_udp.c ot_iovec.c ot_fullscrape.c ot_accesslist.c ot_http.c ot_livesync.c ot_rijndael.c 53SOURCES=src/opentracker.c src/trackerlogic.c src/ot_urlencoded.c src/ot_batch.c src/ot_buf.c src/ot_event.c src/ot_fdstate.c src/ot_fmt.c src/ot_hex.c src/ot_ip.c src/ot_config.c src/ot_scan.c src/ot_socket.c src/ot_tcp.c src/ot_worker.c src/ot_workqueue.c src/ot_mutex.c src/ot_random.c src/ot_stats.c src/ot_vector.c src/ot_clean.c src/ot_udp.c src/ot_iovec.c src/ot_fullscrape.c src/ot_accesslist.c src/ot_http.c src/ot_livesync.c src/ot_rijndael.c
48BINARIES=$(BINARY) $(BINARY).debug 54BINARIES=$(BINARY) $(BINARY).debug
49 55
50# Everything is built in one go from sources, so there are no object files to 56# Everything is built in one go from sources, so there are no object files to
@@ -67,10 +73,13 @@ $(BUILDSTAMP): FORCE
67 @echo "$(CFLAGS) $(COMPILE) $(LINK)" | cmp -s - $@ 2>/dev/null || echo "$(CFLAGS) $(COMPILE) $(LINK)" > $@ 73 @echo "$(CFLAGS) $(COMPILE) $(LINK)" | cmp -s - $@ 2>/dev/null || echo "$(CFLAGS) $(COMPILE) $(LINK)" > $@
68 74
69clean: 75clean:
70 rm -rf $(BINARIES) $(BINARIES:=.dSYM) $(BUILDSTAMP) *.o *~ 76 rm -rf $(BINARIES) $(BINARIES:=.dSYM) $(BUILDSTAMP) *.o *~ src/*.o src/*~
71 77
72install: 78install: $(BINARY)
79 install -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5
73 install -m 755 $(BINARY) $(DESTDIR)$(BINDIR) 80 install -m 755 $(BINARY) $(DESTDIR)$(BINDIR)
81 install -m 644 man1/opentracker.1 $(DESTDIR)$(MANDIR)/man1
82 install -m 644 man5/opentracker.conf.5 $(DESTDIR)$(MANDIR)/man5
74 83
75FORCE: 84FORCE:
76 85