5 # LIBOWFAT_HEADERS=$(PREFIX)/include
6 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
10 # LIBOWFAT_HEADERS=$(PREFIX)/include/libowfat
11 # LIBOWFAT_LIBRARY=$(PREFIX)/lib
15 LIBOWFAT_HEADERS
=$(PREFIX
)/libowfat
16 LIBOWFAT_LIBRARY
=$(PREFIX
)/libowfat
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
51 CFLAGS
+=-I
$(LIBOWFAT_HEADERS
) -Wall
-pipe
-pthread
-Wextra
#-ansi -pedantic
52 LDFLAGS
+=-L
$(LIBOWFAT_LIBRARY
) -lowfat
-pthread
-lz
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
)
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
)
86 $(CC
) -c
-o
$@
$(CFLAGS_production
) $<
89 rm -rf opentracker opentracker.debug
*.o
*~
92 install -m
755 opentracker
$(DESTDIR
)$(BINDIR
)