2
# SI6 Networks' IPv6 toolkit Makefile
4
# Notes to package developers:
6
# By default, binaries will be installed in /usr/local/bin, manual pages in
7
# /usr/local/man, data files in /usr/local/share/ipv6toolkit, and configuration
10
# The path of the binaries and data files can be overriden by setting "PREFIX"
11
# variable accordingly. The path of the manual pages can be overriden by setting
12
# the MANPREFIX variable. Typically, packages will set these variables as follows:
17
# Finally, please note that this makefile supports the DESTDIR variable, as
18
# typically employed by package developers.
36
ETCPATH= $(DESTDIR)/etc
37
MANPATH= $(DESTDIR)$(MANPREFIX)/man
38
DATAPATH= $(DESTDIR)$(PREFIX)/share/ipv6toolkit
39
BINPATH= $(DESTDIR)$(PREFIX)/bin
40
SBINPATH= $(DESTDIR)$(PREFIX)/sbin
44
SBINTOOLS= flow6 frag6 icmp6 jumbo6 na6 ni6 ns6 ra6 rd6 rs6 scan6 tcp6
46
TOOLS= $(BINTOOLS) $(SBINTOOLS)
48
all: $(TOOLS) ipv6toolkit.conf
50
addr6: $(SRCPATH)/addr6.c $(SRCPATH)/addr6.h $(SRCPATH)/ipv6toolkit.h
51
$(CC) $(CPPFLAGS) $(CFLAGS) -o addr6 $(SRCPATH)/addr6.c $(LDFLAGS)
53
flow6: $(SRCPATH)/flow6.c $(SRCPATH)/flow6.h $(SRCPATH)/ipv6toolkit.h
54
$(CC) $(CPPFLAGS) $(CFLAGS) -o flow6 $(SRCPATH)/flow6.c $(LDFLAGS)
56
frag6: $(SRCPATH)/frag6.c $(SRCPATH)/frag6.h $(SRCPATH)/ipv6toolkit.h
57
$(CC) $(CPPFLAGS) $(CFLAGS) -o frag6 $(SRCPATH)/frag6.c $(LDFLAGS)
59
icmp6: $(SRCPATH)/icmp6.c $(SRCPATH)/icmp6.h $(SRCPATH)/ipv6toolkit.h
60
$(CC) $(CPPFLAGS) $(CFLAGS) -o icmp6 $(SRCPATH)/icmp6.c $(LDFLAGS)
62
jumbo6: $(SRCPATH)/jumbo6.c $(SRCPATH)/jumbo6.h $(SRCPATH)/ipv6toolkit.h
63
$(CC) $(CPPFLAGS) $(CFLAGS) -o jumbo6 $(SRCPATH)/jumbo6.c $(LDFLAGS)
65
na6: $(SRCPATH)/na6.c $(SRCPATH)/na6.h $(SRCPATH)/ipv6toolkit.h
66
$(CC) $(CPPFLAGS) $(CFLAGS) -o na6 $(SRCPATH)/na6.c $(LDFLAGS)
68
ni6: $(SRCPATH)/ni6.c $(SRCPATH)/ni6.h $(SRCPATH)/ipv6toolkit.h
69
$(CC) $(CPPFLAGS) $(CFLAGS) -o ni6 $(SRCPATH)/ni6.c $(LDFLAGS)
71
ns6: $(SRCPATH)/ns6.c $(SRCPATH)/ns6.h $(SRCPATH)/ipv6toolkit.h
72
$(CC) $(CPPFLAGS) $(CFLAGS) -o ns6 $(SRCPATH)/ns6.c $(LDFLAGS)
74
ra6: $(SRCPATH)/ra6.c $(SRCPATH)/ra6.h $(SRCPATH)/ipv6toolkit.h
75
$(CC) $(CPPFLAGS) $(CFLAGS) -o ra6 $(SRCPATH)/ra6.c $(LDFLAGS)
77
rd6: $(SRCPATH)/rd6.c $(SRCPATH)/rd6.h $(SRCPATH)/ipv6toolkit.h
78
$(CC) $(CPPFLAGS) $(CFLAGS) -o rd6 $(SRCPATH)/rd6.c $(LDFLAGS)
80
rs6: $(SRCPATH)/rs6.c $(SRCPATH)/rs6.h $(SRCPATH)/ipv6toolkit.h
81
$(CC) $(CPPFLAGS) $(CFLAGS) -o rs6 $(SRCPATH)/rs6.c $(LDFLAGS)
83
scan6: $(SRCPATH)/scan6.c $(SRCPATH)/scan6.h $(SRCPATH)/ipv6toolkit.h
84
$(CC) $(CPPFLAGS) $(CFLAGS) -o scan6 $(SRCPATH)/scan6.c $(LDFLAGS)
86
tcp6: $(SRCPATH)/tcp6.c $(SRCPATH)/tcp6.h $(SRCPATH)/ipv6toolkit.h
87
$(CC) $(CPPFLAGS) $(CFLAGS) -o tcp6 $(SRCPATH)/tcp6.c $(LDFLAGS)
90
echo "# SI6 Networks' IPv6 Toolkit Configuration File" > \
92
echo OUI-Database=$(PREFIX)/share/ipv6toolkit/oui.txt >> \
97
rm -f data/ipv6toolkit.conf
100
# Install the binaries
101
install -m0755 -d $(BINPATH)
102
install -m0755 -d $(SBINPATH)
103
install -m0755 $(BINTOOLS) $(BINPATH)
104
install -m0755 $(SBINTOOLS) $(SBINPATH)
106
# Install the configuration file
107
install -m0644 data/ipv6toolkit.conf $(ETCPATH)
109
# Install the IEEE OUI database
110
install -m0755 -d $(DATAPATH)
111
install -m0644 data/oui.txt $(DATAPATH)
113
# Install the manual pages
114
install -m0755 -d $(MANPATH)/man1
115
install -m0644 manuals/*.1 $(MANPATH)/man1
116
install -m0755 -d $(MANPATH)/man5
117
install -m0644 manuals/*.5 $(MANPATH)/man5
118
install -m0755 -d $(MANPATH)/man7
119
install -m0644 manuals/*.7 $(MANPATH)/man7
122
# Remove the binaries
123
rm -f $(BINPATH)/addr6
124
rm -f $(SBINPATH)/flow6
125
rm -f $(SBINPATH)/frag6
126
rm -f $(SBINPATH)/icmp6
127
rm -f $(SBINPATH)/jumbo6
128
rm -f $(SBINPATH)/na6
129
rm -f $(SBINPATH)/ni6
130
rm -f $(SBINPATH)/ns6
131
rm -f $(SBINPATH)/ra6
132
rm -f $(SBINPATH)/rd6
133
rm -f $(SBINPATH)/rs6
134
rm -f $(SBINPATH)/scan6
135
rm -f $(SBINPATH)/tcp6
137
# Remove the configuration file
138
rm -f $(ETCPATH)/ipv6toolkit.conf
140
# Remove the IEEE OUI database
143
# Remove the manual pages
144
rm -f $(MANPATH)/man1/addr6.1
145
rm -f $(MANPATH)/man1/flow6.1
146
rm -f $(MANPATH)/man1/frag6.1
147
rm -f $(MANPATH)/man1/icmp6.1
148
rm -f $(MANPATH)/man1/jumbo6.1
149
rm -f $(MANPATH)/man1/na6.1
150
rm -f $(MANPATH)/man1/ni6.1
151
rm -f $(MANPATH)/man1/ns6.1
152
rm -f $(MANPATH)/man1/ra6.1
153
rm -f $(MANPATH)/man1/rd6.1
154
rm -f $(MANPATH)/man1/rs6.1
155
rm -f $(MANPATH)/man1/scan6.1
156
rm -f $(MANPATH)/man1/tcp6.1
157
rm -f $(MANPATH)/man5/ipv6toolkit.conf.5
158
rm -f $(MANPATH)/man7/ipv6toolkit.7