1 # $Id: Makefile,v 1.68 2010/08/14 01:08:13 erdgeist Exp $
7 # LIBOWFAT_HEADERS=$(PREFIX)/include
8 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
12 # LIBOWFAT_HEADERS=$(PREFIX)/include/libowfat
13 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
17 LIBOWFAT_HEADERS=$(PREFIX)/libowfat
18 LIBOWFAT_LIBRARY=$(PREFIX)/libowfat
24 #FEATURES+=-DWANT_ACCESSLIST_BLACK
25 #FEATURES+=-DWANT_ACCESSLIST_WHITE
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
40 #FEATURES+=-D_DEBUG_HTTPERROR
42 OPTS_debug=-D_DEBUG -g -ggdb # -pg -fprofile-arcs -ftest-coverage
45 CFLAGS+=-I$(LIBOWFAT_HEADERS) -Wall -pipe -Wextra #-ansi -pedantic
46 LDFLAGS+=-L$(LIBOWFAT_LIBRARY) -lowfat -pthread -lpthread -lz
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
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)
58 .SUFFIXES: .debug.o .o .c
60 all: $(BINARY) $(BINARY).debug
62 CFLAGS_production = $(CFLAGS) $(OPTS_production) $(FEATURES)
63 CFLAGS_debug = $(CFLAGS) $(OPTS_debug) $(FEATURES)
65 $(BINARY): $(OBJECTS) $(HEADERS)
66 $(CC) -o $@ $(OBJECTS) $(LDFLAGS)
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)
75 .c.debug.o : $(HEADERS)
76 $(CC) -c -o $@ $(CFLAGS_debug) $(<:.debug.o=.c)
79 $(CC) -c -o $@ $(CFLAGS_production) $<
82 rm -rf opentracker opentracker.debug *.o *~
85 install -m 755 opentracker $(BINDIR)