2 # Makefile Main Makefile for the net-tools Package
4 # NET-TOOLS A collection of programs that form the base set of the
5 # NET-3 Networking Distribution for the LINUX operating
10 # Author: Bernd Eckenfels <net-tools@lina.inka.de>
11 # Copyright 1995-1996 Bernd Eckenfels, Germany
13 # URLs: ftp://ftp.inka.de/pub/comp/Linux/networking/NetTools/
14 # ftp://ftp.linux.org.uk/pub/linux/Networking/PROGRAMS/NetTools/
15 # http://www.inka.de/sites/lina/linux/NetTools/index_en.html
17 # Based on: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
18 # Copyright 1988-1993 MicroWalt Corporation
21 # Extensively modified from 01/21/94 onwards by
22 # Alan Cox <A.Cox@swansea.ac.uk>
23 # Copyright 1993-1994 Swansea University Computer Society
26 # This Makefile doesn't describe complete dependencies for all include files.
27 # If you change include files you might need to do make clean.
29 # {1.20} Bernd Eckenfels: Even more modifications for the new
31 # {1.21} Bernd Eckenfels: Check if config.in is newer than
33 # {1.22} Bernd Eckenfels: Include ypdomainname and nisdomainame
35 # 1.3.50-BETA6 private Release
37 #960125 {1.23} Bernd Eckenfels: Peter Tobias' rewrite for
38 # makefile-based installation
39 # 1.3.50-BETA6a private Release
41 #960201 {1.24} Bernd Eckenfels: net-features.h added
43 #960201 1.3.50-BETA6b private Release
45 #960203 1.3.50-BETA6c private Release
47 #960204 1.3.50-BETA6d private Release
49 #960204 {1.25} Bernd Eckenfels: DISTRIBUTION added
51 #960205 1.3.50-BETA6e private Release
53 #960206 {1.26} Bernd Eckenfels: afrt.o removed (cleaner solution)
55 #960215 1.3.50-BETA6f Release
57 #960216 {1.30} Bernd Eckenfels: net-lib support
58 #960322 {1.31} Bernd Eckenfels: moveable netlib, TOPDIR
59 #960424 {1.32} Bernd Eckenfels: included the URLs in the Comment
61 #960514 1.31-alpha release
63 #960518 {1.33} Bernd Eckenfels: -I/usr/src/linux/include comment added
65 # This program is free software; you can redistribute it
66 # and/or modify it under the terms of the GNU General
67 # Public License as published by the Free Software
68 # Foundation; either version 2 of the License, or (at
69 # your option) any later version.
72 # set the base of the Installation
75 # path to the net-lib support library. Default: lib
77 NET_LIB_NAME
= net-tools
79 PROGS
:= ifconfig hostname arp netstat route rarp slattach plipconfig nameif
82 ifeq ($(HAVE_IP_TOOLS
),1)
83 PROGS
+= iptunnel ipmaddr
89 # Compiler and Linker Options
90 # You may need to uncomment and edit these if you are using libc5 and IPv6.
91 COPTS
= -D_GNU_SOURCE
-O2
-Wall
-g
# -I/usr/inet6/include
92 ifeq ($(origin LOPTS
), undefined
)
95 RESLIB
= # -L/usr/inet6/lib -linet6
97 ifeq ($(HAVE_AFDECnet
),1)
101 # -------- end of user definitions --------
103 MAINTAINER
= Philip.Blundell@pobox.com
106 .EXPORT_ALL_VARIABLES
:
108 ifeq ("$(NET_LIB_PATH)","lib2")
111 TOPDIR
:= $(shell if
[ "$$PWD" != "" ]; then echo
$$PWD; else pwd
; fi
)
114 NET_LIB
= $(NET_LIB_PATH
)/lib
$(NET_LIB_NAME
).a
116 CFLAGS
= $(COPTS
) -I.
-idirafter .
/include/ -I
$(NET_LIB_PATH
)
117 LDFLAGS
= $(LOPTS
) -L
$(NET_LIB_PATH
)
119 SUBDIRS
= man
/ $(NET_LIB_PATH
)/
121 ifeq ($(origin CC
), undefined
)
126 NLIB
= -l
$(NET_LIB_NAME
)
128 MDEFINES
= COPTS
='$(COPTS)' LOPTS
='$(LOPTS)' TOPDIR
='$(TOPDIR)'
130 %.o
: %.c config.h version.h intl.h net-features.h
$<
131 $(CC
) $(CFLAGS
) -c
$<
133 all: config.h version.h subdirs
$(PROGS
)
135 config
: cleanconfig config.h
137 install: all savebin installbin installdata
139 update
: all installbin installdata
142 rm -f
*.o DEADJOE config.new
*~
*.orig lib
/*.o
146 @for i in
$(SUBDIRS
); do
(cd
$$i && $(MAKE
) clean) ; done
147 @cd po
&& $(MAKE
) clean
153 rm -f
$(PROGS
) config.h version.h config.status config.make
154 @for i in
$(SUBDIRS
); do
(cd
$$i && $(MAKE
) clobber) ; done
158 @echo Creating net-tools-
$(RELEASE
) in ..
159 @
tar -cvz
-f ..
/net-tools-
$(RELEASE
).
tar.gz
-C .. net-tools
162 config.h
: config.in Makefile
163 @echo
"Configuring the Linux net-tools (NET-3 Base Utilities)..." ; echo
164 @if
[ config.status
-nt config.in
]; \
165 then .
/configure.sh config.status
; \
166 else .
/configure.sh config.in
; \
171 @echo
"#define RELEASE \"net-tools $(RELEASE)\"" >version.h
174 $(NET_LIB
): config.h version.h intl.h
libdir
179 @
$(MAKE
) -C
$(NET_LIB_PATH
) $(MDEFINES
)
185 @for i in
$(SUBDIRS
); do
$(MAKE
) -C
$$i $(MDEFINES
) ; done
187 ifconfig
: $(NET_LIB
) ifconfig.o
188 $(CC
) $(LDFLAGS
) -o ifconfig ifconfig.o
$(NLIB
) $(RESLIB
)
191 $(CC
) $(LDFLAGS
) -o nameif nameif.o
194 $(CC
) $(LDFLAGS
) -o hostname hostname.o
$(DNLIB
)
196 route
: $(NET_LIB
) route.o
197 $(CC
) $(LDFLAGS
) -o route route.o
$(NLIB
) $(RESLIB
)
199 arp
: $(NET_LIB
) arp.o
200 $(CC
) $(LDFLAGS
) -o arp arp.o
$(NLIB
) $(RESLIB
)
202 rarp
: $(NET_LIB
) rarp.o
203 $(CC
) $(LDFLAGS
) -o rarp rarp.o
$(NLIB
)
205 slattach
: $(NET_LIB
) slattach.o
206 $(CC
) $(LDFLAGS
) -o slattach slattach.o
$(NLIB
)
208 plipconfig
: $(NET_LIB
) plipconfig.o
209 $(CC
) $(LDFLAGS
) -o plipconfig plipconfig.o
$(NLIB
)
211 netstat
: $(NET_LIB
) netstat.o statistics.o
212 $(CC
) $(LDFLAGS
) -o netstat netstat.o statistics.o
$(NLIB
) $(RESLIB
)
214 iptunnel
: $(NET_LIB
) iptunnel.o
215 $(CC
) $(LDFLAGS
) -o iptunnel iptunnel.o
$(NLIB
) $(RESLIB
)
217 ipmaddr
: $(NET_LIB
) ipmaddr.o
218 $(CC
) $(LDFLAGS
) -o ipmaddr ipmaddr.o
$(NLIB
) $(RESLIB
)
221 $(CC
) $(LDFLAGS
) -o mii-tool mii-tool.o
224 install -m
0755 -d
${BASEDIR}/sbin
225 install -m
0755 -d
${BASEDIR}/bin
226 install -m
0755 arp
${BASEDIR}/sbin
227 install -m
0755 hostname
${BASEDIR}/bin
228 install -m
0755 ifconfig
${BASEDIR}/sbin
229 install -m
0755 nameif
${BASEDIR}/sbin
230 install -m
0755 netstat
${BASEDIR}/bin
231 install -m
0755 plipconfig
$(BASEDIR
)/sbin
232 install -m
0755 rarp
${BASEDIR}/sbin
233 install -m
0755 route
${BASEDIR}/sbin
234 install -m
0755 slattach
$(BASEDIR
)/sbin
235 ifeq ($(HAVE_IP_TOOLS
),1)
236 install -m
0755 ipmaddr
$(BASEDIR
)/sbin
237 install -m
0755 iptunnel
$(BASEDIR
)/sbin
240 install -m
0755 mii-tool
$(BASEDIR
)/sbin
242 ln
-fs hostname
$(BASEDIR
)/bin
/dnsdomainname
243 ln
-fs hostname
$(BASEDIR
)/bin
/ypdomainname
244 ln
-fs hostname
$(BASEDIR
)/bin
/nisdomainname
245 ln
-fs hostname
$(BASEDIR
)/bin
/domainname
246 ifeq ($(HAVE_AFDECnet
),1)
247 ln
-fs hostname
$(BASEDIR
)/bin
/nodename
251 @for i in
${BASEDIR}/sbin
/arp
${BASEDIR}/sbin
/ifconfig \
252 ${BASEDIR}/bin
/netstat \
253 ${BASEDIR}/sbin
/rarp
${BASEDIR}/sbin
/route \
254 ${BASEDIR}/bin
/hostname
${BASEDIR}/bin
/ypdomainname \
255 ${BASEDIR}/bin
/dnsdomainname
${BASEDIR}/bin
/nisdomainname \
256 ${BASEDIR}/bin
/domainname
; do \
257 [ -f
$$i ] && cp
-f
$$i $$i.old
; done
; echo Saved.
260 $(MAKE
) -C man
install
261 $(MAKE
) -C po
install