Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
5cd4555ad444fd391002ae32450572054369fd42Rob Austein#
5cd4555ad444fd391002ae32450572054369fd42Rob Austein# CDDL HEADER START
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# The contents of this file are subject to the terms of the
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews# Common Development and Distribution License (the "License").
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# You may not use this file except in compliance with the License.
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews#
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# or http://www.opensolaris.org/os/licensing.
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# See the License for the specific language governing permissions
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# and limitations under the License.
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews#
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# When distributing Covered Code, include this CDDL HEADER in each
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# If applicable, add the following below this CDDL HEADER, with the
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews#
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews# CDDL HEADER END
0f78f780648806bcb3e374b7dafac73e6c558ea8Mark Andrews#
26440aaebba1acb5c8810f7faa26ad3b7553762eMark Andrews#
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# Use is subject to license terms.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews#
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsPROG = ipadm
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsROOTFS_PROG = $(PROG)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsLOCALOBJS= ipadm.o
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsCOMMONOBJS=
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsOBJS= $(LOCALOBJS) $(COMMONOBJS)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrewsinclude ../../../Makefile.cmd
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrewsinclude ../../Makefile.cmd-inet
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsXGETFLAGS += -a -x $(PROG).xcl
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsLOCALSRCS= $(LOCALOBJS:%.o=%.c)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsCOMMONSRCS= $(CMDINETCOMMONDIR)/$(COMMONOBJS:%.o=%.c)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsSRCS= $(LOCALSRCS) $(COMMONSRCS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsCPPFLAGS += -I$(CMDINETCOMMONDIR)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsCERRWARN += -_gcc=-Wno-unused-label
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsCERRWARN += -_gcc=-Wno-uninitialized
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsLDLIBS += -linetutil -lipadm -lnvpair
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsLINTFLAGS += -m
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark AndrewsROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%)
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# ipadm uses the ancillary data feature which is available only through
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# UNIX 98 standards version of Socket interface. This interface is supposed to
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# be accessed by -lxnet. In addition -lsocket is used to capture new
33d96fbbc8aa221508f3c780539bf44810fd2c9cMark Andrews# not-yet-standard interfaces. Someday -lxnet alone should be enough when IPv6
819fe493f97078521bb6b9a7b97583bef89f5abcMark Andrews# inspired new interfaces are part of standards.
819fe493f97078521bb6b9a7b97583bef89f5abcMark AndrewsLDLIBS += -lxnet -lsocket
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# these #defines are required to use UNIX 98 interfaces
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein_D_UNIX98_EXTN= -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(OBJS) := CPPFLAGS += $(_D_UNIX98_EXTN)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += $(_D_UNIX98_EXTN)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTCFGDIR)/ipadm.conf := FILEMODE= 644
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Instrument ipadm with CTF data to ease debugging.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCTFCONVERT_HOOK = && $(CTFCONVERT_O)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCTFMERGE_HOOK = && $(CTFMERGE) -L VERSION -o $@ $(OBJS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(OBJS) := CFLAGS += $(CTF_FLAGS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE:
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews
1b06367c345e972a0c719a6e821db3e875f20c3bMark Andrewsall: $(ROOTFS_PROG)
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(PROG): $(OBJS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(LINK.c) $(OBJS) -o $@ $(LDLIBS) $(CTFMERGE_HOOK)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(POST_PROCESS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: all $(ROOTSBINPROG) $(ROOTCFGDIR) $(ROOTCFGFILES) $(ROOTUSRSBINLINKS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTUSRSBINLINKS):
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclean:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(RM) $(OBJS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlint: lint_SRCS
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTCFGDIR):
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(INS.dir)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTCFGDIR)/%: $(ROOTCFGDIR) %
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(INS.file)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../../../Makefile.targ
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein