16e91bba0SGirish Moodalbail#
26e91bba0SGirish Moodalbail# CDDL HEADER START
36e91bba0SGirish Moodalbail#
46e91bba0SGirish Moodalbail# The contents of this file are subject to the terms of the
56e91bba0SGirish Moodalbail# Common Development and Distribution License (the "License").
66e91bba0SGirish Moodalbail# You may not use this file except in compliance with the License.
76e91bba0SGirish Moodalbail#
86e91bba0SGirish Moodalbail# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
96e91bba0SGirish Moodalbail# or http://www.opensolaris.org/os/licensing.
106e91bba0SGirish Moodalbail# See the License for the specific language governing permissions
116e91bba0SGirish Moodalbail# and limitations under the License.
126e91bba0SGirish Moodalbail#
136e91bba0SGirish Moodalbail# When distributing Covered Code, include this CDDL HEADER in each
146e91bba0SGirish Moodalbail# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
156e91bba0SGirish Moodalbail# If applicable, add the following below this CDDL HEADER, with the
166e91bba0SGirish Moodalbail# fields enclosed by brackets "[]" replaced with your own identifying
176e91bba0SGirish Moodalbail# information: Portions Copyright [yyyy] [name of copyright owner]
186e91bba0SGirish Moodalbail#
196e91bba0SGirish Moodalbail# CDDL HEADER END
206e91bba0SGirish Moodalbail#
216e91bba0SGirish Moodalbail#
226e91bba0SGirish Moodalbail# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
236e91bba0SGirish Moodalbail# Use is subject to license terms.
246e91bba0SGirish Moodalbail#
25f3655454SJohn Levon# Copyright 2020 Joyent, Inc.
26*a73be61aSHans Rosenfeld# Copyright 2021 Tintri by DDN, Inc. All rights reserved.
27*a73be61aSHans Rosenfeld#
28*a73be61aSHans Rosenfeld#
296e91bba0SGirish Moodalbail
306e91bba0SGirish MoodalbailPROG =		ipadm
316e91bba0SGirish MoodalbailROOTFS_PROG =	$(PROG)
326e91bba0SGirish MoodalbailLOCALOBJS=	ipadm.o
33e96f8419SYuri PankovCOMMONOBJS=
346e91bba0SGirish MoodalbailOBJS=		$(LOCALOBJS) $(COMMONOBJS)
356e91bba0SGirish Moodalbail
366e91bba0SGirish Moodalbailinclude ../../../Makefile.cmd
376e91bba0SGirish Moodalbailinclude ../../Makefile.cmd-inet
386e91bba0SGirish Moodalbail
39467e811cSToomas SoomeXGETFLAGS +=	-a -x $(PROG).xcl
406e91bba0SGirish MoodalbailLOCALSRCS=	$(LOCALOBJS:%.o=%.c)
416e91bba0SGirish MoodalbailCOMMONSRCS=	$(CMDINETCOMMONDIR)/$(COMMONOBJS:%.o=%.c)
426e91bba0SGirish MoodalbailSRCS=		$(LOCALSRCS) $(COMMONSRCS)
436e91bba0SGirish Moodalbail
446e91bba0SGirish MoodalbailCPPFLAGS +=	-I$(CMDINETCOMMONDIR)
45*a73be61aSHans RosenfeldLDLIBS +=       -lofmt -linetutil -lipadm -lnvpair -lipmp -lcmdutils
466e91bba0SGirish MoodalbailLINTFLAGS +=	-m
476e91bba0SGirish Moodalbail
486e91bba0SGirish MoodalbailROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%)
496e91bba0SGirish Moodalbail
506e91bba0SGirish Moodalbail# ipadm uses the ancillary data feature which is available only through
516e91bba0SGirish Moodalbail# UNIX 98 standards version of Socket interface. This interface is supposed to
52f3655454SJohn Levon# be accessed by -lxnet.
53f3655454SJohn LevonLDLIBS +=	-lxnet
546e91bba0SGirish Moodalbail
556e91bba0SGirish Moodalbail# these #defines are required to use UNIX 98 interfaces
566e91bba0SGirish Moodalbail_D_UNIX98_EXTN= -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
576e91bba0SGirish Moodalbail
586e91bba0SGirish Moodalbail$(OBJS)		:= CPPFLAGS +=	$(_D_UNIX98_EXTN)
596e91bba0SGirish Moodalbail
606e91bba0SGirish MoodalbailLINTFLAGS +=	$(_D_UNIX98_EXTN)
616e91bba0SGirish Moodalbail
626e91bba0SGirish Moodalbail$(ROOTCFGDIR)/ipadm.conf := FILEMODE= 644
636e91bba0SGirish Moodalbail
646e91bba0SGirish Moodalbail#
656e91bba0SGirish Moodalbail# Instrument ipadm with CTF data to ease debugging.
666e91bba0SGirish Moodalbail#
676e91bba0SGirish MoodalbailCTFCONVERT_HOOK = && $(CTFCONVERT_O)
686e91bba0SGirish MoodalbailCTFMERGE_HOOK = && $(CTFMERGE) -L VERSION -o $@ $(OBJS)
696e91bba0SGirish Moodalbail$(OBJS) := CFLAGS += $(CTF_FLAGS)
706e91bba0SGirish Moodalbail
716e91bba0SGirish Moodalbail.KEEP_STATE:
726e91bba0SGirish Moodalbail
736e91bba0SGirish Moodalbailall:	$(ROOTFS_PROG)
746e91bba0SGirish Moodalbail
756e91bba0SGirish Moodalbail$(PROG):	$(OBJS)
766e91bba0SGirish Moodalbail	$(LINK.c) $(OBJS) -o $@ $(LDLIBS) $(CTFMERGE_HOOK)
776e91bba0SGirish Moodalbail	$(POST_PROCESS)
786e91bba0SGirish Moodalbail
796e91bba0SGirish Moodalbailinstall: all $(ROOTSBINPROG) $(ROOTCFGDIR) $(ROOTCFGFILES) $(ROOTUSRSBINLINKS)
806e91bba0SGirish Moodalbail
816e91bba0SGirish Moodalbail$(ROOTUSRSBINLINKS):
826e91bba0SGirish Moodalbail	-$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@
836e91bba0SGirish Moodalbail
846e91bba0SGirish Moodalbailclean:
856e91bba0SGirish Moodalbail	$(RM) $(OBJS)
866e91bba0SGirish Moodalbail
876e91bba0SGirish Moodalbaillint:	lint_SRCS
886e91bba0SGirish Moodalbail
896e91bba0SGirish Moodalbail$(ROOTCFGDIR):
906e91bba0SGirish Moodalbail	$(INS.dir)
916e91bba0SGirish Moodalbail
926e91bba0SGirish Moodalbail$(ROOTCFGDIR)/%: $(ROOTCFGDIR) %
936e91bba0SGirish Moodalbail	$(INS.file)
946e91bba0SGirish Moodalbail
956e91bba0SGirish Moodalbailinclude ../../../Makefile.targ
96