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 
  26 PROG=           traceroute
  27 OBJS=           traceroute.o traceroute_aux.o traceroute_aux6.o
  28 SRCS=           $(OBJS:.o=.c)
  29 
  30 include ../../../Makefile.cmd
  31 
  32 $(ROOTUSRSBIN)/traceroute       :=      FILEMODE= 04555
  33 
  34 # Traceroute uses the ancillary data feature which is available only through
  35 # UNIX 98 standards version of Socket interface. This interface is supposed to
  36 # be accessed by -lxnet. In addition -lsocket is used to
  37 # capture new not-yet-standard interfaces. Someday -lxnet alone should be enough
  38 # when IPv6 inspired new interfaces are part of standards.
  39 LDLIBS +=       -lxnet -lsocket -linetutil
  40 
  41 # These #defines are required to use UNIX 98 interfaces
  42 CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
  43 
  44 #
  45 # Setting the above defines to use the UNIX98 ancillary data feature
  46 # causes lint to output warnings about lint library declarations
  47 # conflicting with those in the header files. Since we need these
  48 # features, the best course of action is to switch the types of the
  49 # resulting warnings off when running lint.
  50 #
  51 LINTFLAGS +=    -erroff=E_FUNC_DECL_VAR_ARG2 -erroff=E_INCONS_ARG_DECL2 \
  52                 -erroff=E_INCONS_ARG_USED2 -erroff=E_INCONS_VAL_TYPE_DECL2
  53 
  54 CERRWARN +=     -_gcc=-Wno-uninitialized
  55 CERRWARN +=     -_gcc=-Wno-clobbered
  56 
  57 .KEEP_STATE:
  58 
  59 all:    $(PROG)
  60 
  61 $(PROG): $(OBJS)
  62         $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  63         $(POST_PROCESS)
  64 
  65 install: all $(ROOTUSRSBINPROG)
  66 
  67 clean:
  68         $(RM) $(OBJS)
  69 
  70 lint:   lint_SRCS
  71 
  72 include ../../../Makefile.targ