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 += $(CNOWARN_UNINIT) 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