change stunnel ip
[cloudstore.git] / torrent / opentracker / Makefile
1 # $Id: Makefile,v 1.68 2010/08/14 01:08:13 erdgeist Exp $
2
3 CC?=gcc
4
5 # Linux flavour
6 # PREFIX?=/opt/diet
7 # LIBOWFAT_HEADERS=$(PREFIX)/include
8 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
9
10 # BSD flavour
11 # PREFIX?=/usr/local
12 # LIBOWFAT_HEADERS=$(PREFIX)/include/libowfat
13 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
14
15 # Debug flavour
16 PREFIX?=..
17 LIBOWFAT_HEADERS=$(PREFIX)/libowfat
18 LIBOWFAT_LIBRARY=$(PREFIX)/libowfat
19
20 BINDIR?=$(PREFIX)/bin
21
22 #FEATURES+=-DWANT_V6
23
24 #FEATURES+=-DWANT_ACCESSLIST_BLACK
25 #FEATURES+=-DWANT_ACCESSLIST_WHITE
26
27 FEATURES+=-DWANT_SYNC_LIVE
28 #FEATURES+=-DWANT_IP_FROM_QUERY_STRING
29 FEATURES+=-DWANT_COMPRESSION_GZIP
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_FULLSCRAPE
39
40 #FEATURES+=-D_DEBUG_HTTPERROR
41
42 OPTS_debug=-D_DEBUG -g -ggdb # -pg -fprofile-arcs -ftest-coverage
43 OPTS_production=-O3
44
45 CFLAGS+=-I$(LIBOWFAT_HEADERS) -Wall -pipe -Wextra #-ansi -pedantic
46 LDFLAGS+=-L$(LIBOWFAT_LIBRARY) -lowfat -pthread -lpthread -lz
47
48 BINARY =opentracker
49 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
50 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
51 SOURCES_proxy=proxy.c ot_vector.c ot_mutex.c
52
53 OBJECTS = $(SOURCES:%.c=%.o)
54 OBJECTS_debug = $(SOURCES:%.c=%.debug.o)
55 OBJECTS_proxy = $(SOURCES_proxy:%.c=%.o)
56 OBJECTS_proxy_debug = $(SOURCES_proxy:%.c=%.debug.o)
57
58 .SUFFIXES: .debug.o .o .c
59
60 all: $(BINARY) $(BINARY).debug
61
62 CFLAGS_production = $(CFLAGS) $(OPTS_production) $(FEATURES)
63 CFLAGS_debug = $(CFLAGS) $(OPTS_debug) $(FEATURES)
64
65 $(BINARY): $(OBJECTS) $(HEADERS)
66         $(CC) -o $@ $(OBJECTS) $(LDFLAGS)
67         strip $@
68 $(BINARY).debug: $(OBJECTS_debug) $(HEADERS)
69         $(CC) -o $@ $(OBJECTS_debug) $(LDFLAGS)
70 proxy: $(OBJECTS_proxy) $(HEADERS)
71         $(CC) -o $@ $(OBJECTS_proxy) $(CFLAGS_production) $(LDFLAGS)
72 proxy.debug: $(OBJECTS_proxy_debug) $(HEADERS)
73         $(CC) -o $@ $(OBJECTS_proxy_debug) $(LDFLAGS)
74
75 .c.debug.o : $(HEADERS)
76         $(CC) -c -o $@ $(CFLAGS_debug) $(<:.debug.o=.c)
77
78 .c.o : $(HEADERS)
79         $(CC) -c -o $@ $(CFLAGS_production) $<
80
81 clean:
82         rm -rf opentracker opentracker.debug *.o *~
83
84 install:
85         install -m 755 opentracker $(BINDIR)