~ubuntu-branches/ubuntu/trusty/ipv6toolkit/trusty

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Package Import Robot
  • Author(s): Octavio Alvarez
  • Date: 2013-08-24 18:37:54 UTC
  • Revision ID: package-import@ubuntu.com-20130824183754-zulpzbg53eotkwyp
Tags: upstream-1.4
ImportĀ upstreamĀ versionĀ 1.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# SI6 Networks' IPv6 toolkit Makefile
 
3
#
 
4
# Notes to package developers:
 
5
#
 
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
 
8
# files in /etc
 
9
#
 
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:
 
13
#
 
14
# PREFIX=usr/
 
15
# MANPREFIX=usr/share
 
16
#
 
17
# Finally, please note that this makefile supports the DESTDIR variable, as 
 
18
# typically employed by package developers.
 
19
 
 
20
 
 
21
CC= gcc
 
22
CFLAGS+= -Wall
 
23
LDFLAGS+= -lpcap -lm
 
24
 
 
25
.ifndef(PREFIX)
 
26
PREFIX=/usr/local
 
27
.ifndef(MANPREFIX)
 
28
MANPREFIX=/usr/local
 
29
.endif
 
30
.else
 
31
.ifndef(MANPREFIX)
 
32
MANPREFIX=/usr/share
 
33
.endif
 
34
.endif 
 
35
 
 
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
 
41
SRCPATH= tools
 
42
 
 
43
 
 
44
SBINTOOLS= flow6 frag6 icmp6 jumbo6 na6 ni6 ns6 ra6 rd6 rs6 scan6 tcp6
 
45
BINTOOLS= addr6
 
46
TOOLS= $(BINTOOLS) $(SBINTOOLS)
 
47
 
 
48
all: $(TOOLS) ipv6toolkit.conf
 
49
 
 
50
addr6: $(SRCPATH)/addr6.c $(SRCPATH)/addr6.h $(SRCPATH)/ipv6toolkit.h
 
51
        $(CC) $(CPPFLAGS) $(CFLAGS) -o addr6 $(SRCPATH)/addr6.c $(LDFLAGS) 
 
52
 
 
53
flow6: $(SRCPATH)/flow6.c $(SRCPATH)/flow6.h $(SRCPATH)/ipv6toolkit.h
 
54
        $(CC) $(CPPFLAGS) $(CFLAGS) -o flow6 $(SRCPATH)/flow6.c $(LDFLAGS) 
 
55
 
 
56
frag6: $(SRCPATH)/frag6.c $(SRCPATH)/frag6.h $(SRCPATH)/ipv6toolkit.h
 
57
        $(CC) $(CPPFLAGS) $(CFLAGS) -o frag6 $(SRCPATH)/frag6.c $(LDFLAGS) 
 
58
 
 
59
icmp6: $(SRCPATH)/icmp6.c $(SRCPATH)/icmp6.h $(SRCPATH)/ipv6toolkit.h
 
60
        $(CC) $(CPPFLAGS) $(CFLAGS) -o icmp6 $(SRCPATH)/icmp6.c $(LDFLAGS)
 
61
 
 
62
jumbo6: $(SRCPATH)/jumbo6.c $(SRCPATH)/jumbo6.h $(SRCPATH)/ipv6toolkit.h
 
63
        $(CC) $(CPPFLAGS) $(CFLAGS) -o jumbo6 $(SRCPATH)/jumbo6.c $(LDFLAGS)
 
64
 
 
65
na6: $(SRCPATH)/na6.c $(SRCPATH)/na6.h $(SRCPATH)/ipv6toolkit.h
 
66
        $(CC) $(CPPFLAGS) $(CFLAGS) -o na6 $(SRCPATH)/na6.c $(LDFLAGS)
 
67
 
 
68
ni6: $(SRCPATH)/ni6.c $(SRCPATH)/ni6.h $(SRCPATH)/ipv6toolkit.h
 
69
        $(CC) $(CPPFLAGS) $(CFLAGS) -o ni6 $(SRCPATH)/ni6.c $(LDFLAGS)
 
70
 
 
71
ns6: $(SRCPATH)/ns6.c $(SRCPATH)/ns6.h $(SRCPATH)/ipv6toolkit.h
 
72
        $(CC) $(CPPFLAGS) $(CFLAGS) -o ns6 $(SRCPATH)/ns6.c $(LDFLAGS)
 
73
 
 
74
ra6: $(SRCPATH)/ra6.c $(SRCPATH)/ra6.h $(SRCPATH)/ipv6toolkit.h
 
75
        $(CC) $(CPPFLAGS) $(CFLAGS) -o ra6 $(SRCPATH)/ra6.c $(LDFLAGS)
 
76
 
 
77
rd6: $(SRCPATH)/rd6.c $(SRCPATH)/rd6.h $(SRCPATH)/ipv6toolkit.h
 
78
        $(CC) $(CPPFLAGS) $(CFLAGS) -o rd6 $(SRCPATH)/rd6.c $(LDFLAGS)
 
79
 
 
80
rs6: $(SRCPATH)/rs6.c $(SRCPATH)/rs6.h $(SRCPATH)/ipv6toolkit.h
 
81
        $(CC) $(CPPFLAGS) $(CFLAGS) -o rs6 $(SRCPATH)/rs6.c $(LDFLAGS)
 
82
 
 
83
scan6: $(SRCPATH)/scan6.c $(SRCPATH)/scan6.h $(SRCPATH)/ipv6toolkit.h
 
84
        $(CC) $(CPPFLAGS) $(CFLAGS) -o scan6 $(SRCPATH)/scan6.c $(LDFLAGS)
 
85
 
 
86
tcp6: $(SRCPATH)/tcp6.c $(SRCPATH)/tcp6.h $(SRCPATH)/ipv6toolkit.h
 
87
        $(CC) $(CPPFLAGS) $(CFLAGS) -o tcp6 $(SRCPATH)/tcp6.c $(LDFLAGS)
 
88
 
 
89
ipv6toolkit.conf:
 
90
        echo "# SI6 Networks' IPv6 Toolkit Configuration File" > \
 
91
           data/ipv6toolkit.conf
 
92
        echo OUI-Database=$(PREFIX)/share/ipv6toolkit/oui.txt >> \
 
93
           data/ipv6toolkit.conf 
 
94
 
 
95
clean: 
 
96
        rm -f $(TOOLS)
 
97
        rm -f data/ipv6toolkit.conf
 
98
 
 
99
install: all
 
100
        # Install the binaries
 
101
        install -m0755 -d $(BINPATH)
 
102
        install -m0755 -d $(SBINPATH)
 
103
        install -m0755 $(BINTOOLS) $(BINPATH)
 
104
        install -m0755 $(SBINTOOLS) $(SBINPATH)
 
105
 
 
106
        # Install the configuration file
 
107
        install -m0644 data/ipv6toolkit.conf $(ETCPATH)
 
108
 
 
109
        # Install the IEEE OUI database
 
110
        install -m0755 -d $(DATAPATH)
 
111
        install -m0644 data/oui.txt $(DATAPATH)
 
112
 
 
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
 
120
 
 
121
uninstall:
 
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
 
136
 
 
137
        # Remove the configuration file
 
138
        rm -f $(ETCPATH)/ipv6toolkit.conf
 
139
 
 
140
        # Remove the IEEE OUI database
 
141
        rm -rf $(DATAPATH)
 
142
 
 
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
 
159