OSDN Git Service

Fix no pic
[uclinux-h8/uClinux-dist.git] / user / net-tools / Makefile
1 #
2 # Makefile      Main Makefile for the net-tools Package
3 #
4 # NET-TOOLS     A collection of programs that form the base set of the
5 #               NET-3 Networking Distribution for the LINUX operating
6 #               system.
7 #
8 # Version:      2001-02-13
9 #
10 # Author:       Bernd Eckenfels <net-tools@lina.inka.de>
11 #               Copyright 1995-1996 Bernd Eckenfels, Germany
12 #
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
16 #
17 # Based on:     Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
18 #               Copyright 1988-1993 MicroWalt Corporation
19 #
20 # Modifications:
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
24 #
25 # Be careful! 
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. 
28 #
29 #       {1.20}  Bernd Eckenfels:        Even more modifications for the new 
30 #                                       package layout
31 #       {1.21}  Bernd Eckenfels:        Check if config.in is newer than 
32 #                                       config.status
33 #       {1.22}  Bernd Eckenfels:        Include ypdomainname and nisdomainame
34 #
35 #       1.3.50-BETA6 private Release
36 #                               
37 #960125 {1.23}  Bernd Eckenfels:        Peter Tobias' rewrite for 
38 #                                       makefile-based installation
39 #       1.3.50-BETA6a private Release
40 #
41 #960201 {1.24}  Bernd Eckenfels:        net-features.h added
42 #
43 #960201 1.3.50-BETA6b private Release
44 #
45 #960203 1.3.50-BETA6c private Release
46 #
47 #960204 1.3.50-BETA6d private Release
48 #
49 #960204 {1.25}  Bernd Eckenfels:        DISTRIBUTION added
50 #
51 #960205 1.3.50-BETA6e private Release
52 #
53 #960206 {1.26}  Bernd Eckenfels:        afrt.o removed (cleaner solution)
54 #
55 #960215 1.3.50-BETA6f Release
56 #
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
60 #
61 #960514 1.31-alpha release
62 #
63 #960518 {1.33}  Bernd Eckenfels:        -I/usr/src/linux/include comment added
64 #
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.
70 #
71
72 # set the base of the Installation 
73 # BASEDIR = /mnt
74
75 # path to the net-lib support library. Default: lib
76 NET_LIB_PATH = lib
77 NET_LIB_NAME = net-tools
78
79 PROGS   = ifconfig hostname arp netstat route rarp slattach plipconfig
80 ifdef CONFIG_USER_NET_TOOLS_NAMEIF
81 PROGS   += nameif
82 endif
83 ifdef CONFIG_USER_NET_TOOLS_IPTUNNEL
84 PROGS   += iptunnel
85 endif
86 ifdef CONFIG_USER_NET_TOOLS_IPMADDR
87 PROGS   += ipmaddr
88 endif
89 ifdef CONFIG_USER_NET_TOOLS_MII_TOOL
90 PROGS   += mii-tool
91 endif
92
93 BINDIR=/bin
94 ifeq ($(ARCH),sh)
95 SBINDIR=/sbin
96 else
97 ifeq ($(ARCH),i386)
98 SBINDIR=/sbin
99 else
100 ifeq ($(ARCH),arm)
101 SBINDIR=/sbin
102 else
103 SBINDIR=/bin
104 endif
105 endif
106 endif
107
108 -include config.make
109
110 # Compiler and Linker Options
111 # You may need to uncomment and edit these if you are using libc5 and IPv6.
112 COPTS = -D_GNU_SOURCE -D__USE_BSD
113 LOPTS = 
114 RESLIB = # -L/usr/inet6/lib -linet6
115
116 ifeq ($(HAVE_AFDECnet),1)
117 DNLIB = -ldnet
118 endif
119
120 # -------- end of user definitions --------
121
122 MAINTAINER = Philip.Blundell@pobox.com
123 RELEASE    = 1.60
124
125 .EXPORT_ALL_VARIABLES:
126
127 ifeq ("$(NET_LIB_PATH)","lib2")
128 TOPDIR   = ..
129 else
130 TOPDIR  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
131 endif
132
133 NET_LIB = $(NET_LIB_PATH)/lib$(NET_LIB_NAME).a
134
135 CFLAGS  += $(COPTS) -I. -idirafter ./include/ -I$(NET_LIB_PATH)
136 LDFLAGS += $(LOPTS) -L$(NET_LIB_PATH)
137
138 SUBDIRS = man/ $(NET_LIB_PATH)/
139
140 NLIB    = -l$(NET_LIB_NAME)
141
142 MDEFINES = COPTS='$(COPTS)' LOPTS='$(LOPTS)' TOPDIR='$(TOPDIR)'
143
144 %.o:            %.c config.h version.h intl.h net-features.h $<
145                 $(CC) $(CFLAGS) -c $<
146
147 all:            config.h version.h subdirs $(PROGS)
148
149 config:         cleanconfig config.h
150
151 install:        all savebin installbin installdata
152
153 update:         all installbin installdata
154
155 mostlyclean:
156                 rm -f *.o DEADJOE config.new *~ *.orig lib/*.o
157
158 GDBPROGS := $(PROGS:%=%.gdb)
159
160 clean: mostlyclean
161                 rm -f $(PROGS) $(GDBPROGS)
162                 @for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean) ; done
163                 @cd po && $(MAKE) clean
164
165 cleanconfig:
166                 rm -f config.h
167
168 clobber:        clean
169                 rm -f $(PROGS) config.h version.h config.status config.make
170                 @for i in $(SUBDIRS); do (cd $$i && $(MAKE) clobber) ; done
171
172
173 dist:           clobber
174                 @echo Creating net-tools-$(RELEASE) in ..
175                 @tar -cvz -f ../net-tools-$(RELEASE).tar.gz -C .. net-tools
176
177
178 XXXconfig.h:    config.in
179                 @echo "Configuring the Linux net-tools (NET-3 Base Utilities)..." ; echo
180                 @if [ config.status -nt config.in ]; \
181                         then ./configure.sh config.status; \
182                    else ./configure.sh config.in; \
183                  fi
184
185
186 version.h:      Makefile
187                 @echo "#define RELEASE \"net-tools $(RELEASE)\"" >version.h
188
189
190 $(NET_LIB):     config.h version.h intl.h libdir
191
192 i18n.h:         i18ndir
193
194 libdir:
195                 @$(MAKE) -C $(NET_LIB_PATH) $(MDEFINES)
196
197 i18ndir:
198                 @$(MAKE) -C po
199
200 subdirs:
201                 @for i in $(SUBDIRS); do $(MAKE) -C $$i $(MDEFINES) ; done
202
203 ifconfig:       $(NET_LIB) ifconfig.o
204                 $(CC) $(LDFLAGS) -o ifconfig ifconfig.o $(NLIB) $(RESLIB) $(LDLIBS)
205                 
206 nameif: nameif.o
207                 $(CC) $(LDFLAGS) -o nameif nameif.o $(LDLIBS)
208
209 hostname:       hostname.o
210                 $(CC) $(LDFLAGS) -o hostname hostname.o $(DNLIB) $(LDLIBS)
211
212 route:          $(NET_LIB) route.o
213                 $(CC) $(LDFLAGS) -o route route.o $(NLIB) $(RESLIB) $(LDLIBS)
214
215 arp:            $(NET_LIB) arp.o
216                 $(CC) $(LDFLAGS) -o arp arp.o $(NLIB) $(RESLIB) $(LDLIBS)
217
218 rarp:           $(NET_LIB) rarp.o
219                 $(CC) $(LDFLAGS) -o rarp rarp.o $(NLIB) $(LDLIBS)
220
221 slattach:       $(NET_LIB) slattach.o
222                 $(CC) $(LDFLAGS) -o slattach slattach.o $(NLIB) $(LDLIBS)
223
224 plipconfig:     $(NET_LIB) plipconfig.o
225                 $(CC) $(LDFLAGS) -o plipconfig plipconfig.o $(NLIB) $(LDLIBS)
226
227 netstat:        $(NET_LIB) netstat.o statistics.o
228                 $(CC) $(LDFLAGS) -o netstat netstat.o statistics.o $(NLIB) $(RESLIB) $(LDLIBS)
229
230 iptunnel:       $(NET_LIB) iptunnel.o
231                 $(CC) $(LDFLAGS) -o iptunnel iptunnel.o $(NLIB) $(RESLIB) $(LDLIBS)
232
233 ipmaddr:        $(NET_LIB) ipmaddr.o
234                 $(CC) $(LDFLAGS) -o ipmaddr ipmaddr.o $(NLIB) $(RESLIB) $(LDLIBS)
235
236 mii-tool:       mii-tool.o
237                 $(CC) $(LDFLAGS) -o mii-tool mii-tool.o $(LDLIBS)
238
239 installbin:
240         install -m 0755 -d ${BASEDIR}/sbin
241         install -m 0755 -d ${BASEDIR}/bin
242         install -m 0755 arp        ${BASEDIR}/sbin
243         install -m 0755 hostname   ${BASEDIR}/bin
244         install -m 0755 ifconfig   ${BASEDIR}/sbin
245         install -m 0755 nameif     ${BASEDIR}/sbin
246         install -m 0755 netstat    ${BASEDIR}/bin
247         install -m 0755 plipconfig $(BASEDIR)/sbin
248         install -m 0755 rarp       ${BASEDIR}/sbin
249         install -m 0755 route      ${BASEDIR}/sbin
250         install -m 0755 slattach   $(BASEDIR)/sbin
251 ifeq ($(HAVE_IP_TOOLS),1)
252         install -m 0755 ipmaddr    $(BASEDIR)/sbin
253         install -m 0755 iptunnel   $(BASEDIR)/sbin
254 endif
255 ifeq ($(HAVE_MII),1)
256         install -m 0755 mii-tool   $(BASEDIR)/sbin
257 endif
258         ln -fs hostname $(BASEDIR)/bin/dnsdomainname
259         ln -fs hostname $(BASEDIR)/bin/ypdomainname
260         ln -fs hostname $(BASEDIR)/bin/nisdomainname
261         ln -fs hostname $(BASEDIR)/bin/domainname
262 ifeq ($(HAVE_AFDECnet),1)
263         ln -fs hostname $(BASEDIR)/bin/nodename
264 endif
265
266 savebin:
267         @for i in ${BASEDIR}/sbin/arp ${BASEDIR}/sbin/ifconfig \
268                  ${BASEDIR}/bin/netstat \
269                  ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route \
270                  ${BASEDIR}/bin/hostname ${BASEDIR}/bin/ypdomainname \
271                  ${BASEDIR}/bin/dnsdomainname ${BASEDIR}/bin/nisdomainname \
272                  ${BASEDIR}/bin/domainname ; do \
273                  [ -f $$i ] && cp -f $$i $$i.old ; done ; echo Saved.
274
275 installdata:
276         $(MAKE) -C man install
277         $(MAKE) -C po install
278
279 romfs:
280         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_ARP       /$(SBINDIR)/arp
281         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_HOSTNAME  /$(BINDIR)/hostname
282         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_IFCONFIG  /$(SBINDIR)/ifconfig
283         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_NAMEIF    /$(SBINDIR)/nameif
284         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_NETSTAT   /$(BINDIR)/netstat
285         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_PLIPCONFIG /$(SBINDIR)/plipconfig
286         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_RARP      /$(SBINDIR)/rarp
287         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_ROUTE     /$(SBINDIR)/route
288         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_SLATTACH  /$(SBINDIR)/slattach
289         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_IPMADDR   /$(SBINDIR)/ipmaddr
290         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_IPTUNNEL  /$(SBINDIR)/iptunnel
291         $(ROMFSINST) -e CONFIG_USER_NET_TOOLS_MII_TOOL  /$(SBINDIR)/mii-tool
292
293 # End of Makefile.