Make chunked transfers use gzip also
[opentracker.git] / Makefile
blob7f43829f20f1e6712fbdba37b22f9409d933f1ac
1 # $Id$
3 # Linux flavour
4 # PREFIX?=/opt/diet
5 # LIBOWFAT_HEADERS=$(PREFIX)/include
6 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
8 # BSD flavour
9 # PREFIX?=/usr/local
10 # LIBOWFAT_HEADERS=$(PREFIX)/include/libowfat
11 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
13 # Debug flavour
14 PREFIX?=..
15 LIBOWFAT_HEADERS=$(PREFIX)/libowfat
16 LIBOWFAT_LIBRARY=$(PREFIX)/libowfat
18 BINDIR?=$(PREFIX)/bin
19 STRIP?=strip
21 #FEATURES+=-DWAND_V4_ONLY
22 #FEATURES+=-DWANT_ACCESSLIST_BLACK
23 #FEATURES+=-DWANT_ACCESSLIST_WHITE
24 #FEATURES+=-DWANT_DYNAMIC_ACCESSLIST
26 #FEATURES+=-DWANT_SYNC_LIVE
27 #FEATURES+=-DWANT_IP_FROM_QUERY_STRING
28 #FEATURES+=-DWANT_COMPRESSION_GZIP
29 #FEATURES+=-DWANT_COMPRESSION_GZIP_ALWAYS
30 #FEATURES+=-DWANT_LOG_NETWORKS
31 #FEATURES+=-DWANT_RESTRICT_STATS
32 #FEATURES+=-DWANT_IP_FROM_PROXY
33 #FEATURES+=-DWANT_FULLLOG_NETWORKS
34 #FEATURES+=-DWANT_LOG_NUMWANT
35 #FEATURES+=-DWANT_MODEST_FULLSCRAPES
36 #FEATURES+=-DWANT_SPOT_WOODPECKER
37 #FEATURES+=-DWANT_SYSLOGS
38 #FEATURES+=-DWANT_DEV_RANDOM
39 FEATURES+=-DWANT_FULLSCRAPE
41 # Is enabled on BSD systems by default in trackerlogic.h
42 # on Linux systems you will need -lbds
43 #FEATURES+=-DWANT_ARC4RANDOM
45 #FEATURES+=-D_DEBUG_HTTPERROR
46 #FEATURES+=-D_DEBUG_RANDOMTORRENTS
48 OPTS_debug=-D_DEBUG -g -ggdb # -pg -fprofile-arcs -ftest-coverage
49 OPTS_production=-O3
51 CFLAGS+=-I$(LIBOWFAT_HEADERS) -Wall -pipe -pthread -Wextra #-ansi -pedantic
52 LDFLAGS+=-L$(LIBOWFAT_LIBRARY) -lowfat -pthread -lz
53 #LDFLAGS+=-lbsd
55 BINARY =opentracker
56 HEADERS=trackerlogic.h scan_urlencoded_query.h ot_mutex.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
57 SOURCES=opentracker.c trackerlogic.c scan_urlencoded_query.c ot_mutex.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
58 SOURCES_proxy=proxy.c ot_vector.c ot_mutex.c
60 OBJECTS = $(SOURCES:%.c=%.o)
61 OBJECTS_debug = $(SOURCES:%.c=%.debug.o)
62 OBJECTS_proxy = $(SOURCES_proxy:%.c=%.o)
63 OBJECTS_proxy_debug = $(SOURCES_proxy:%.c=%.debug.o)
65 .SUFFIXES: .debug.o .o .c
67 all: $(BINARY) $(BINARY).debug
69 CFLAGS_production = $(CFLAGS) $(OPTS_production) $(FEATURES)
70 CFLAGS_debug = $(CFLAGS) $(OPTS_debug) $(FEATURES)
72 $(BINARY): $(OBJECTS) $(HEADERS)
73 $(CC) -o $@ $(OBJECTS) $(LDFLAGS)
74 $(STRIP) $@
75 $(BINARY).debug: $(OBJECTS_debug) $(HEADERS)
76 $(CC) -o $@ $(OBJECTS_debug) $(LDFLAGS)
77 proxy: $(OBJECTS_proxy) $(HEADERS)
78 $(CC) -o $@ $(OBJECTS_proxy) $(CFLAGS_production) $(LDFLAGS)
79 proxy.debug: $(OBJECTS_proxy_debug) $(HEADERS)
80 $(CC) -o $@ $(OBJECTS_proxy_debug) $(LDFLAGS)
82 .c.debug.o : $(HEADERS)
83 $(CC) -c -o $@ $(CFLAGS_debug) $(<:.debug.o=.c)
85 .c.o : $(HEADERS)
86 $(CC) -c -o $@ $(CFLAGS_production) $<
88 clean:
89 rm -rf opentracker opentracker.debug *.o *~
91 install:
92 install -m 755 opentracker $(DESTDIR)$(BINDIR)