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 26PROG= traceroute 27OBJS= traceroute.o traceroute_aux.o traceroute_aux6.o 28SRCS= $(OBJS:.o=.c) 29 30include ../../../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. 39LDLIBS += -lxnet -lsocket -linetutil 40 41# These #defines are required to use UNIX 98 interfaces 42CPPFLAGS += -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# 51LINTFLAGS += -erroff=E_FUNC_DECL_VAR_ARG2 -erroff=E_INCONS_ARG_DECL2 \ 52 -erroff=E_INCONS_ARG_USED2 -erroff=E_INCONS_VAL_TYPE_DECL2 53 54CERRWARN += -_gcc=-Wno-uninitialized 55CERRWARN += -_gcc=-Wno-clobbered 56 57.KEEP_STATE: 58 59all: $(PROG) 60 61$(PROG): $(OBJS) 62 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 63 $(POST_PROCESS) 64 65install: all $(ROOTUSRSBINPROG) 66 67clean: 68 $(RM) $(OBJS) 69 70lint: lint_SRCS 71 72include ../../../Makefile.targ 73