xref: /illumos-gate/usr/src/cmd/cmd-inet/usr.sbin/traceroute/Makefile (revision 4eaa471005973e11a6110b69fe990530b3b95a38)
1#
2# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3# Use is subject to license terms.
4#
5
6#  Copyright (c) 1988, 1989, 1990, 1991, 1992, 1995, 1996, 1997
7# 	The Regents of the University of California.  All rights reserved.
8#
9#  Redistribution and use in source and binary forms, with or without
10#  modification, are permitted provided that: (1) source code distributions
11#  retain the above copyright notice and this paragraph in its entirety, (2)
12#  distributions including binary code include the above copyright notice and
13#  this paragraph in its entirety in the documentation or other materials
14#  provided with the distribution, and (3) all advertising materials mentioning
15#  features or use of this software display the following acknowledgement:
16#  ``This product includes software developed by the University of California,
17#  Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
18#  the University nor the names of its contributors may be used to endorse
19#  or promote products derived from this software without specific prior
20#  written permission.
21#  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
22#  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
23#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
24#
25# @(#) $Header: Makefile.in,v 1.24 97/04/22 13:31:20 leres Exp $ (LBL)
26
27PROG=		traceroute
28OBJS=		traceroute.o traceroute_aux.o traceroute_aux6.o
29SRCS=		$(OBJS:.o=.c)
30
31include	../../../Makefile.cmd
32
33$(ROOTUSRSBIN)/traceroute	:=	FILEMODE= 04555
34
35# Traceroute uses the ancillary data feature which is available only through
36# UNIX 98 standards version of Socket interface. This interface is supposed to
37# be accessed by -lxnet. In addition -lsocket and -lnsl are used to
38# capture new not-yet-standard interfaces. Someday -lxnet alone should be enough
39# when IPv6 inspired new interfaces are part of standards.
40LDLIBS +=	-lxnet -lsocket -lnsl -linetutil
41
42# These #defines are required to use UNIX 98 interfaces
43CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
44
45#
46# Setting the above defines to use the UNIX98 ancillary data feature
47# causes lint to output warnings about lint library declarations
48# conflicting with those in the header files. Since we need these
49# features, the best course of action is to switch the types of the
50# resulting warnings off when running lint.
51#
52LINTFLAGS +=	-erroff=E_FUNC_DECL_VAR_ARG2 -erroff=E_INCONS_ARG_DECL2 \
53		-erroff=E_INCONS_ARG_USED2 -erroff=E_INCONS_VAL_TYPE_DECL2
54
55.KEEP_STATE:
56
57all:	$(PROG)
58
59$(PROG): $(OBJS)
60	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
61	$(POST_PROCESS)
62
63install: all $(ROOTUSRSBINPROG)
64
65clean:
66	$(RM) $(OBJS)
67
68lint:	lint_SRCS
69
70include ../../../Makefile.targ
71