File: Makefile

package info (click to toggle)
thc-ipv6 3.6-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 2,116 kB
  • sloc: ansic: 52,618; sh: 529; makefile: 77; perl: 34
file content (78 lines) | stat: -rw-r--r-- 3,573 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Comment out if openssl-dev is not present
HAVE_SSL=yes

CC=gcc
#CFLAGS=-g
CFLAGS+=-falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition
CFLAGS+=$(if $(HAVE_SSL),-D_HAVE_SSL,)
LDFLAGS+=-lpcap $(if $(HAVE_SSL),-lssl -lcrypto,)
STATIC=
#-static
PROGRAMS=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_solicitate6 fake_mld6 fake_mld26 fake_mldrouter6 flood_mldrouter6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 implementation6 implementation6d sendpees6 sendpeesmp6 randicmp6 fuzz_ip6 flood_mld6 flood_mld26 flood_router6 flood_advertise6 flood_solicitate6 trace6 exploit6 denial6 fake_dhcps6 flood_dhcpc6 fake_dns6d fragmentation6 kill_router6 fake_dnsupdate6 ndpexhaust6 detect_sniffer6 dump_router6 fake_router26 flood_router26 passive_discovery6 dnsrevenum6 inverse_lookup6 node_query6 address6 covert_send6 covert_send6d inject_alive6 firewall6 ndpexhaust26 fake_pim6 thcsyn6 redirsniff6 flood_redir6 four2six dump_dhcp6 flood_rs6 fuzz_dhcps6 fuzz_dhcpc6 toobigsniff6 flood_unreach6 connect6
EXTRA=dnssecwalk dnsdict6 thcping6 fragrouter6 connsplit6
LIBS=thc-ipv6-lib.o
STRIP=strip

PREFIX=/usr
MANPREFIX=${PREFIX}/share/man
MANPAGES=$(foreach p, $(PROGRAMS) $(EXTRA), $(p).8)

# Prefix each command with atk6
NAMEPREFIX := atk6
EXTRA      := $(foreach program,$(EXTRA),$(NAMEPREFIX)-$(program))
PROGRAMS   := $(foreach program,$(PROGRAMS),$(NAMEPREFIX)-$(program))

all:	$(LIBS) $(PROGRAMS) $(EXTRA)

$(NAMEPREFIX)-dnssecwalk:	dnssecwalk.c
	$(CC) $(CFLAGS) $(CPPFLAGS) $(STATIC) -o $@ $^ $(LDFLAGS)

$(NAMEPREFIX)-dnsdict6:	dnsdict6.c
	$(CC) $(CFLAGS) $(CPPFLAGS) $(STATIC) -o $@ $^ $(LDFLAGS) -lpthread -lresolv

$(NAMEPREFIX)-thcping6:	thcping6.c $(LIBS)
	$(CC) $(CFLAGS) $(CPPFLAGS) $(STATIC) -o $@ $^ $(LDFLAGS) -lrt

$(NAMEPREFIX)-fragrouter6:	fragrouter6.c $(LIBS)
	-$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS) -lnetfilter_queue || /bin/echo -e "\nCompilation of fragrouter6 failed, you have to install libnetfilter-queue-dev for this!\n"

$(NAMEPREFIX)-connsplit6:	connsplit6.c $(LIBS)
	-$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS) -lnetfilter_queue || /bin/echo -e "\nCompilation of connsplit6 failed, you have to install libnetfilter-queue-dev for this!\n"

$(NAMEPREFIX)-%:	%.c $(LIBS)
	$(CC) $(CFLAGS) $(CPPFLAGS) $(STATIC) -o $@ $^ $(LDFLAGS)

strip:	all
	-$(STRIP) $(PROGRAMS) $(EXTRA)

install: all strip
	install -m0755 -d ${DESTDIR}${PREFIX}/bin
	-install -m0755 $(PROGRAMS) $(EXTRA) ${DESTDIR}${PREFIX}/bin
	install -m0755 extract_hosts6.sh ${DESTDIR}${PREFIX}/bin/$(NAMEPREFIX)-extract_hosts6
	install -m0755 extract_networks6.sh ${DESTDIR}${PREFIX}/bin/$(NAMEPREFIX)-extract_networks6
	install -m0755 -d ${DESTDIR}${MANPREFIX}/man8
	install -m0644 -D thc-ipv6.8 ${DESTDIR}${MANPREFIX}/man8
#	install -m0644 -D $(MANPAGES) ${DESTDIR}${MANPREFIX}/man8

clean:
	rm -f $(PROGRAMS) $(EXTRA) $(LIBS) core DEADJOE *~
	rm -f $(MANPAGES)

backup:	clean
	tar czvf ../thc-ipv6-bak.tar.gz *
	sync

%.8: %
	@echo .TH $* 8 `date --iso-8601` THC "IPv6 ATTACK TOOLKIT" > $@
	@echo .SH NAME >> $@
	@echo .B $* >> $@
	@./$*|tail -n +2|sed -e "s#\\./$*#$*#g" -e "s/^Syntax: \?/.SH SYNOPSIS\n/g" -e "s/Options:/.SH OPTIONS\n.nf\n/g" -e "s/^\(.*\):\$$/.SH \1\n/g" >> $@
	@echo .SH AUTHOR >> $@
	@echo "thc-ipv6 was written by van Hauser <vh@thc.org> / THC" >> $@
	@echo >> $@
	@echo  The homepage for this toolkit is: https://github.com/vanhauser-thc/thc-ipv6 >> $@
	@echo >> $@
	@echo .SH COPYRIGHT >> $@
	@./$* |head -n1|sed -e "s#^\./##g" >> $@

.PHONY: all install clean man