17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
545916cd2Sjpk# Common Development and Distribution License (the "License").
645916cd2Sjpk# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
214e5b757fSkupfer
227c478bd9Sstevel@tonic-gate#
233e95bd4aSAnders Persson# Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
24*7d10cd4dSGarrett D'Amore# Copyright 2022 Garrett D'Amore <garrett@damore.org>
2532e09e17SJohn Levon# Copyright 2019, Joyent, Inc.
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gateSYNCPROG=	syncinit syncloop syncstat
297c478bd9Sstevel@tonic-gate
3090a455acSGarrett D'AmorePROG=		6to4relay arp if_mpadm \
31a192e900Samaguire		in.comsat in.fingerd in.rarpd in.rexecd in.rlogind \
3240537fccSgd		in.rshd in.rwhod in.telnetd in.tftpd ipaddrsel \
33bf5d9f18SAndy Fiddaman		ndd ndp $(SYNCPROG)
347c478bd9Sstevel@tonic-gate
357c478bd9Sstevel@tonic-gateMANIFEST=	rarp.xml telnet.xml comsat.xml finger.xml \
36*7d10cd4dSGarrett D'Amore		login.xml shell.xml rexec.xml
373e95bd4aSAnders PerssonSVCMETHOD=	svc-sockfilter
387c478bd9Sstevel@tonic-gate
39a192e900SamaguireROOTFS_PROG=	hostconfig route soconfig
40a192e900SamaguireSBINLINKS=	hostconfig route
417c478bd9Sstevel@tonic-gate
427c478bd9Sstevel@tonic-gateRPCSVCPROG=	hostconfig
437c478bd9Sstevel@tonic-gateAUDITPROG=	in.rexecd in.rlogind in.rshd in.telnetd
447c478bd9Sstevel@tonic-gatePAMPROG=	in.rexecd in.rlogind in.rshd in.telnetd
4590a455acSGarrett D'AmoreSOCKETPROG=	6to4relay arp hostconfig if_mpadm in.comsat \
46a192e900Samaguire		in.fingerd in.rarpd in.rexecd in.rlogind in.rshd \
47e7df7762SCody Peter Mello		in.rwhod in.telnetd in.tftpd ipaddrsel ndp route
4890a455acSGarrett D'AmoreNSLPROG=	6to4relay arp hostconfig in.comsat in.rarpd \
49a192e900Samaguire		in.rexecd in.rlogind in.rshd in.rwhod in.telnetd \
50e7df7762SCody Peter Mello		in.tftpd ipaddrsel ndp route
517c478bd9Sstevel@tonic-gateCMDPROG=	in.telnetd
527c478bd9Sstevel@tonic-gateK5PROGS=	in.telnetd in.rlogind in.rshd
5345916cd2SjpkTSNETPROG=	route
546e91bba0SGirish MoodalbailDLADMPROG=	6to4relay
55a7872406SmeemDEFAULTFILES=	telnetd.dfl
567c478bd9Sstevel@tonic-gate
577c478bd9Sstevel@tonic-gatePROGSRCS=	$(PROG:%=%.c)
587c478bd9Sstevel@tonic-gateTFTPDOBJS=	in.tftpd.o tftpsubs.o
597c478bd9Sstevel@tonic-gateOTHERSRC=	../usr.bin/tftp/tftpsubs.c
607c478bd9Sstevel@tonic-gateK5RLOGINOBJS=	in.rlogind.o
617c478bd9Sstevel@tonic-gateK5RSHDOBJS=	in.rshd.o
6232885d59SgtbK5TELNETOBJS=	in.telnetd.o
637c478bd9Sstevel@tonic-gateSRCS=		$(PROGSRCS) $(OTHERSRC)
647c478bd9Sstevel@tonic-gate
65bf5d9f18SAndy FiddamanSUBDIRS=	ifconfig ilbadm in.rdisc in.routed \
666e91bba0SGirish Moodalbail		in.talkd inetadm inetconv ipadm ipmpstat ipqosconf ipsecutils \
67*7d10cd4dSGarrett D'Amore		nwamadm nwamcfg ping routeadm \
686ba597c5SAnurag S. Maskey		snoop sppptun traceroute wificonfig
697c478bd9Sstevel@tonic-gate
70bf5d9f18SAndy FiddamanMSGSUBDIRS=	ifconfig ilbadm in.routed in.talkd \
71dd49f125SAnders Persson		inetadm inetconv ipadm ipmpstat ipqosconf ipsecutils \
72*7d10cd4dSGarrett D'Amore		nwamadm nwamcfg routeadm sppptun snoop wificonfig
737c478bd9Sstevel@tonic-gate
7485f4cb87SRichard Lowe# This controls the degree of compiler warnings emitted, and is named for
7585f4cb87SRichard Lowe# 'lint' for historical reasons.  Eventually this hack should go away, and all
7685f4cb87SRichard Lowe# in PROG should be clean.
77e3320f40SmarkfenLINTCLEAN=	6to4relay arp in.rlogind in.rshd in.telnetd in.tftpd \
78e7df7762SCody Peter Mello		ipaddrsel ndp route \
794b908718Smeem		in.rarpd if_mpadm $(SYNCPROG)
807c478bd9Sstevel@tonic-gate# And as programs are verified not to attempt to write into constants,
817c478bd9Sstevel@tonic-gate# -xstrconst should be used to ensure they stay that way.
82e3320f40SmarkfenCONSTCLEAN=
837c478bd9Sstevel@tonic-gate
847c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd
857c478bd9Sstevel@tonic-gateROOTMANIFESTDIR=	$(ROOTSVCNETWORK)
867c478bd9Sstevel@tonic-gate$(ROOTMANIFEST)		:= FILEMODE= 444
877c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd-inet
887c478bd9Sstevel@tonic-gate
897c478bd9Sstevel@tonic-gateROOTSBINPROG = $(ROOTFS_PROG:%=$(ROOTSBIN)/%)
907c478bd9Sstevel@tonic-gateROOTUSRSBINLINKS = $(SBINLINKS:%=$(ROOTUSRSBIN)/%)
917c478bd9Sstevel@tonic-gate
9232885d59SgtbCOMMONOBJS=	addr_match.o kcmd.o store_forw_creds.o
937243fb49SjbeckCOMMONSRCS=	$(COMMONOBJS:%.o=$(CMDINETCOMMONDIR)/%.c)
947c478bd9Sstevel@tonic-gateSRCS+=		$(COMMONSRCS)
957c478bd9Sstevel@tonic-gate
967014882cSRichard LoweCERRWARN += -_gcc=-Wno-implicit-function-declaration
97d3b5f563SJohn LevonCERRWARN += $(CNOWARN_UNINIT)
987014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable
997014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-function
1007014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses
1017014882cSRichard LoweCERRWARN += -_gcc=-Wno-char-subscripts
1027014882cSRichard LoweCERRWARN += -_gcc=-Wno-extra
1037014882cSRichard LoweCERRWARN += -_gcc=-Wno-address
1047014882cSRichard Lowe
1055661bb76SJohn Levon# "missing type for func"
1065661bb76SJohn LevonSMATCH=off
1075661bb76SJohn Levon
1087c478bd9Sstevel@tonic-gate#
1097c478bd9Sstevel@tonic-gate# Message catalog
1107c478bd9Sstevel@tonic-gate#
1113e95bd4aSAnders PerssonPOFILES=	6to4relay.po if_mpadm.po in.comsat.po ipaddrsel.po route.po \
1123e95bd4aSAnders Persson		soconfig.po
1137c478bd9Sstevel@tonic-gatePOFILE=		usr.sbin.po
1147c478bd9Sstevel@tonic-gate
1157c478bd9Sstevel@tonic-gateall:=		TARGET= all
1167c478bd9Sstevel@tonic-gateinstall:=	TARGET= install
1177c478bd9Sstevel@tonic-gateclean:=		TARGET= clean
1187c478bd9Sstevel@tonic-gateclobber:=	TARGET= clobber
1197c478bd9Sstevel@tonic-gate_msg:=		TARGET= _msg
1207c478bd9Sstevel@tonic-gate
121c2785286SgtbCLOBBERFILES +=	$(ROOTFS_PROG) $(PROG)
122b6805bf7SGordon RossCLEANFILES += $(COMMONOBJS) $(K5RLOGINOBJS) $(K5RSHDOBJS) $(TFTPDOBJS) \
123b6805bf7SGordon Ross		$(K5TELNETOBJS)
1247c478bd9Sstevel@tonic-gate
125a192e900SamaguireCPPFLAGS +=	-DSYSV -DBSD_COMP -I$(CMDINETCOMMONDIR) -I
1267c478bd9Sstevel@tonic-gate
1277c478bd9Sstevel@tonic-gateinclude $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
1287c478bd9Sstevel@tonic-gateK5LIBS=
1297c478bd9Sstevel@tonic-gate
1307c478bd9Sstevel@tonic-gate# Eventually just plain CFLAGS should be += -v, but not until all in
1317c478bd9Sstevel@tonic-gate# PROGS are lint clean.
1327c478bd9Sstevel@tonic-gate$(LINTCLEAN)		:=	CFLAGS += $(CCVERBOSE)
1337c478bd9Sstevel@tonic-gate$(CONSTCLEAN)		:=	CFLAGS += $(XSTRCONST)
1347c478bd9Sstevel@tonic-gate
1357c478bd9Sstevel@tonic-gate$(SYNCPROG)		:=	LDLIBS += -ldlpi
1367c478bd9Sstevel@tonic-gate$(SOCKETPROG)		:=	LDLIBS += -lsocket
1377c478bd9Sstevel@tonic-gate$(NSLPROG)		:=	LDLIBS += -lnsl
1387c478bd9Sstevel@tonic-gate$(AUDITPROG)		:=	LDLIBS += -lbsm
1397c478bd9Sstevel@tonic-gate$(PAMPROG)		:=	LDLIBS += -lpam
1407c478bd9Sstevel@tonic-gate$(RPCSVCPROG)		:=	LDLIBS += -lrpcsvc
14167e3a03eSrie$(K5PROGS)		:=	LDFLAGS += $(KRUNPATH) \
1427c478bd9Sstevel@tonic-gate				-L$(ROOT)$(KLIBDIR_DO) -L$(ROOT)$(KLIBDIR_GL)
1437c478bd9Sstevel@tonic-gate$(K5PROGS)		:=	K5LIBS=  -lmech_krb5
1447c478bd9Sstevel@tonic-gate$(K5PROGS)		:=	CPPFLAGS += -I$(SRC)/head \
1457c478bd9Sstevel@tonic-gate				-I$(SRC)/uts/common/ \
1467c478bd9Sstevel@tonic-gate				-I$(SRC)/uts/common/gssapi/mechs/krb5/include \
1477c478bd9Sstevel@tonic-gate				-I$(SRC)/lib/gss_mechs/mech_krb5/include \
1487c478bd9Sstevel@tonic-gate				-I$(SRC)/lib/pam_modules/krb5
1497c478bd9Sstevel@tonic-gateLDLIBS +=	$(K5LIBS)
15067e3a03eSrie$(TSNETPROG)		:=	LDLIBS += -ltsnet
1512b24ab6bSSebastien Roy$(DLADMPROG)		:=	LDLIBS += -ldladm
1527c478bd9Sstevel@tonic-gate
153948f2876Sssin.rarpd		:=	LDLIBS += -linetutil -ldlpi
154e11c3f44Smeemif_mpadm		:=	LDLIBS += -linetutil -lipmp
155e11c3f44Smeemif_mpadm.po		:=	XGETFLAGS += -a
1567c478bd9Sstevel@tonic-gateroute			:=	CPPFLAGS += -DNDEBUG
1576e91bba0SGirish Moodalbailndd			:=	LDLIBS += -ldladm -lipadm
15832e09e17SJohn Levon$(RELEASE_BUILD)ndd	:=	CERRWARN += -_gcc=-Wno-unused
15985f4cb87SRichard Lowein.comsat		:=	LDFLAGS += $(MAPFILE.NGB:%=-Wl,-M%)
1607c478bd9Sstevel@tonic-gate
1617c478bd9Sstevel@tonic-gate.KEEP_STATE:
1627c478bd9Sstevel@tonic-gate
1637c478bd9Sstevel@tonic-gate.PARALLEL:
1647c478bd9Sstevel@tonic-gate
1654e5b757fSkupferall: $(PROG) $(ROOTFS_PROG) $(SUBDIRS) THIRDPARTYLICENSE.arp
1667c478bd9Sstevel@tonic-gate
1677c478bd9Sstevel@tonic-gate#
1687c478bd9Sstevel@tonic-gate# message catalog
1697c478bd9Sstevel@tonic-gate#
1707c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS) $(POFILE)
1717c478bd9Sstevel@tonic-gate
1727c478bd9Sstevel@tonic-gatesyncutil: $(SYNCPROG)
1737c478bd9Sstevel@tonic-gate
1747c478bd9Sstevel@tonic-gate$(POFILE): $(POFILES)
1757c478bd9Sstevel@tonic-gate	$(RM) $@
1767c478bd9Sstevel@tonic-gate	cat $(POFILES) > $@
1777c478bd9Sstevel@tonic-gate
1787243fb49Sjbeck%.o: $(CMDINETCOMMONDIR)/%.c
1797243fb49Sjbeck	$(COMPILE.c) -o $@ $<
1807c478bd9Sstevel@tonic-gate
181c2785286Sgtbin.telnetd: $(K5TELNETOBJS)
182c2785286Sgtb	$(LINK.c) $(K5TELNETOBJS) -o $@ $(LDLIBS)
18332885d59Sgtb	$(POST_PROCESS)
18432885d59Sgtb
185c2785286Sgtbin.rlogind: $(K5RLOGINOBJS) $(COMMONOBJS)
186c2785286Sgtb	$(LINK.c) $(K5RLOGINOBJS) $(COMMONOBJS) -o $@ $(LDLIBS)
1877c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1887c478bd9Sstevel@tonic-gate
189c2785286Sgtbin.rshd: $(K5RSHDOBJS) $(COMMONOBJS)
190c2785286Sgtb	$(LINK.c) $(K5RSHDOBJS) $(COMMONOBJS) -o $@ $(LDLIBS)
1917c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1927c478bd9Sstevel@tonic-gate
1937c478bd9Sstevel@tonic-gatein.tftpd: $(TFTPDOBJS)
1947c478bd9Sstevel@tonic-gate	$(LINK.c) $(TFTPDOBJS) -o $@ $(LDLIBS)
1957c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1967c478bd9Sstevel@tonic-gate
1977c478bd9Sstevel@tonic-gatetftpsubs.o: $(OTHERSRC)
1987c478bd9Sstevel@tonic-gate	$(COMPILE.c) $(OTHERSRC) -o $@
1997c478bd9Sstevel@tonic-gate	$(POST_PROCESS_O)
2007c478bd9Sstevel@tonic-gate
2017c478bd9Sstevel@tonic-gate$(ROOTUSRSBINLINKS):
2027c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@
2037c478bd9Sstevel@tonic-gate
2047c478bd9Sstevel@tonic-gateinstall: $(PROG) $(ROOTFS_PROG) $(SUBDIRS) .WAIT $(ROOTUSRSBINPROG) \
2057c478bd9Sstevel@tonic-gate	$(ROOTSBINPROG) $(ROOTUSRSBINLINKS) $(ROOTETCDEFAULTFILES) \
2063e95bd4aSAnders Persson	$(ROOTMANIFEST) $(ROOTSVCMETHOD) THIRDPARTYLICENSE.arp
2074e5b757fSkupfer
2084e5b757fSkupferTHIRDPARTYLICENSE.arp: arp.c
2094e5b757fSkupfer	$(SED) -n '/University of California/,/SUCH DAMAGE/p' arp.c > $@
2104e5b757fSkupfer
2114e5b757fSkupferCLOBBERFILES += THIRDPARTYLICENSE.arp
2127c478bd9Sstevel@tonic-gate
2137c478bd9Sstevel@tonic-gate$(SUBDIRS): FRC
2143aa6c130SRichard Lowe	cd $@; pwd; $(MAKE) $(TARGET)
2157c478bd9Sstevel@tonic-gate
2167c478bd9Sstevel@tonic-gateFRC:
2177c478bd9Sstevel@tonic-gate
2187c478bd9Sstevel@tonic-gatecheck:	$(CHKMANIFEST)
2197c478bd9Sstevel@tonic-gate
220b6805bf7SGordon Rossclean: $(SUBDIRS) clean_local
221b6805bf7SGordon Rossclean_local:
222b6805bf7SGordon Ross	$(RM) $(CLEANFILES)
2237c478bd9Sstevel@tonic-gate
224b6805bf7SGordon Rossclobber: $(SUBDIRS) clobber_local
225b6805bf7SGordon Rossclobber_local: clean_local
226b6805bf7SGordon Ross	$(RM) $(CLOBBERFILES)
227