Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
2454dfa32c93c20a8522c6ed42fe057baaac9f9aStephan Bosch#
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# CDDL HEADER START
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen#
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# The contents of this file are subject to the terms of the
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# Common Development and Distribution License, Version 1.0 only
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# (the "License"). You may not use this file except in compliance
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# with the License.
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen#
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# or http://www.opensolaris.org/os/licensing.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# See the License for the specific language governing permissions
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# and limitations under the License.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch#
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# When distributing Covered Code, include this CDDL HEADER in each
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# If applicable, add the following below this CDDL HEADER, with the
ba592dc74a004ad47dfe58edcfc1ca7297551e39Phil Carmody# fields enclosed by brackets "[]" replaced with your own identifying
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# information: Portions Copyright [yyyy] [name of copyright owner]
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch#
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# CDDL HEADER END
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen#
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen#
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# Use is subject to license terms.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch#
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# ident "%Z%%M% %I% %E% SMI"
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch#
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo SirainenPROG= ping
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschPINGOBJS= ping.o ping_aux.o ping_aux6.o
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschCOMMONOBJS= ifaddrlist.o
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo SirainenOBJS= $(PINGOBJS) $(COMMONOBJS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschSUIDPROG= ping
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschinclude ../../../Makefile.cmd
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschinclude ../../Makefile.cmd-inet
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschPINGSRCS= $(PINGOBJS:.o=.c)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschCOMMONSRCS= $(CMDINETCOMMONDIR)/$(COMMONOBJS:.o=.c)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschSRCS= $(PINGSRCS) $(COMMONSRCS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschHDRS= ping.h $(CMDINETCOMMONDIR)/ifaddrlist.h
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch$(ROOTUSRSBIN)/ping := FILEMODE= 04555
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch$(ROOTUSRSBIN)/ping := OWNER= root
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo SirainenCPPFLAGS += -I$(CMDINETCOMMONDIR)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# Ping uses the ancillary data feature which is available only through
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# UNIX 98 standards version of Socket interface. This interface is supposed to
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# be accessed by -lxnet. In addition -lsocket and -lnsl are used to
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# capture new not-yet-standard interfaces. Someday -lxnet alone should be enough
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# when IPv6 inspired new interfaces are part of standards.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschLDLIBS += -lxnet -lsocket -lnsl -lm
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# these #defines are required to use UNIX 98 interfaces
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch_D_UNIX98_EXTN = -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen$(PINGOBJS) := CPPFLAGS += $(_D_UNIX98_EXTN)
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo SirainenLINTFLAGS += $(_D_UNIX98_EXTN)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# Setting the above defines to use the UNIX98 ancillary data feature
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# causes lint to output warnings about lint library declarations conflicting
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen# with those in the header files. Since we need these features the best
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# course of action is to switch the types of the resulting warnings off
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch# when running lint.
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan BoschLINTFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2 -erroff=E_INCONS_ARG_DECL2 \
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch -erroff=E_FUNC_DECL_VAR_ARG2
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch.KEEP_STATE:
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch.PARALLEL:
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschall: $(PROG)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch$(PROG): $(OBJS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
7e59e4fdc89e55399fa60b3f6d866e7029c230feTimo Sirainen $(POST_PROCESS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch$(COMMONOBJS): $(COMMONSRCS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch $(COMPILE.c) $(COMMONSRCS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschinstall: all $(ROOTUSRSBINPROG)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschclean:
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch $(RM) $(OBJS)
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschlint: lint_SRCS
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Boschinclude ../../../Makefile.targ
0b753d79f359d75d64708da9203f72786ae2c5f3Stephan Bosch