# # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" # # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1995, 1996, 1997 # The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that: (1) source code distributions # retain the above copyright notice and this paragraph in its entirety, (2) # distributions including binary code include the above copyright notice and # this paragraph in its entirety in the documentation or other materials # provided with the distribution, and (3) all advertising materials mentioning # features or use of this software display the following acknowledgement: # ``This product includes software developed by the University of California, # Lawrence Berkeley Laboratory and its contributors.'' Neither the name of # the University nor the names of its contributors may be used to endorse # or promote products derived from this software without specific prior # written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # @(#) $Header: Makefile.in,v 1.24 97/04/22 13:31:20 leres Exp $ (LBL) PROG= traceroute TRACEROUTEOBJS= traceroute.o traceroute_aux.o traceroute_aux6.o COMMONOBJS= ifaddrlist.o OBJS= $(TRACEROUTEOBJS) $(COMMONOBJS) SUIDPROG= traceroute include ../../../Makefile.cmd include ../../Makefile.cmd-inet TRACEROUTESRCS= $(TRACEROUTEOBJS:.o=.c) COMMONSRCS= $(CMDINETCOMMONDIR)/$(COMMONOBJS:.o=.c) SRCS= $(TRACEROUTESRCS) $(COMMONSRCS) HDRS= traceroute.h $(CMDINETCOMMONDIR)/ifaddrlist.h $(ROOTUSRSBIN)/traceroute := FILEMODE= 04555 $(ROOTUSRSBIN)/traceroute := OWNER= root CPPFLAGS += -I$(CMDINETCOMMONDIR) # Traceroute uses the ancillary data feature which is available only through # UNIX 98 standards version of Socket interface. This interface is supposed to # be accessed by -lxnet. In addition -lsocket and -lnsl are used to # capture new not-yet-standard interfaces. Someday -lxnet alone should be enough # when IPv6 inspired new interfaces are part of standards. LDLIBS += -lxnet -lsocket -lnsl # these #defines are required to use UNIX 98 interfaces _D_UNIX98_EXTN= -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ $(TRACEROUTEOBJS) := CPPFLAGS += $(_D_UNIX98_EXTN) LINTFLAGS += $(_D_UNIX98_EXTN) # # Setting the above defines to use the UNIX98 ancillary data feature # causes lint to output warnings about lint library declarations # conflicting with those in the header files. Since we need these # features, the best course of action is to switch the types of the # resulting warnings off when running lint. # LINTFLAGS += -erroff=E_FUNC_DECL_VAR_ARG2 -erroff=E_INCONS_ARG_DECL2 \ -erroff=E_INCONS_ARG_USED2 -erroff=E_INCONS_VAL_TYPE_DECL2 .KEEP_STATE: all: $(PROG) $(PROG): $(OBJS) $(LINK.c) -o $@ $(OBJS) $(LDLIBS) $(POST_PROCESS) $(COMMONOBJS): $(COMMONSRCS) $(COMPILE.c) $(COMMONSRCS) install: all $(ROOTUSRSBINPROG) clean: $(RM) $(OBJS) lint: lint_SRCS include ../../../Makefile.targ