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*90a455acSGarrett D'Amore# Copyright 2014 Garrett D'Amore <garrett@damore.org> 257c478bd9Sstevel@tonic-gate# 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gateSYNCPROG= syncinit syncloop syncstat 287c478bd9Sstevel@tonic-gateDHCPPROG= dhcpconfig dhtadm pntadm 297c478bd9Sstevel@tonic-gate 30*90a455acSGarrett D'AmorePROG= 6to4relay arp if_mpadm \ 31a192e900Samaguire in.comsat in.fingerd in.rarpd in.rexecd in.rlogind \ 3240537fccSgd78059 in.rshd in.rwhod in.telnetd in.tftpd ipaddrsel \ 33694c35faSJosef 'Jeff' Sipek ndd $(SYNCPROG) $(DHCPPROG) wanbootutil 347c478bd9Sstevel@tonic-gate 357c478bd9Sstevel@tonic-gateMANIFEST= rarp.xml telnet.xml comsat.xml finger.xml \ 36dd49f125SAnders Persson login.xml shell.xml rexec.xml socket-filter-kssl.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 45*90a455acSGarrett D'AmoreSOCKETPROG= 6to4relay arp hostconfig if_mpadm in.comsat \ 46a192e900Samaguire in.fingerd in.rarpd in.rexecd in.rlogind in.rshd \ 47e3320f40Smarkfen in.rwhod in.telnetd in.tftpd ipaddrsel route 48*90a455acSGarrett D'AmoreNSLPROG= 6to4relay arp hostconfig in.comsat in.rarpd \ 49a192e900Samaguire in.rexecd in.rlogind in.rshd in.rwhod in.telnetd \ 50e3320f40Smarkfen in.tftpd ipaddrsel 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 65*90a455acSGarrett D'AmoreSUBDIRS= bootconfchk ifconfig ilbadm in.rdisc in.routed \ 666e91bba0SGirish Moodalbail in.talkd inetadm inetconv ipadm ipmpstat ipqosconf ipsecutils \ 676ba597c5SAnurag S. Maskey kssl/kssladm kssl/ksslcfg nwamadm nwamcfg ping routeadm \ 686ba597c5SAnurag S. Maskey snoop sppptun traceroute wificonfig 697c478bd9Sstevel@tonic-gate 70*90a455acSGarrett D'AmoreMSGSUBDIRS= bootconfchk ifconfig ilbadm in.routed in.talkd \ 71dd49f125SAnders Persson inetadm inetconv ipadm ipmpstat ipqosconf ipsecutils \ 72dd49f125SAnders Persson kssl/ksslcfg nwamadm nwamcfg routeadm sppptun snoop wificonfig 737c478bd9Sstevel@tonic-gate 747c478bd9Sstevel@tonic-gate# As programs get lint-clean, add them here and to the 'lint' target. 757c478bd9Sstevel@tonic-gate# Eventually this hack should go away, and all in PROG should be 767c478bd9Sstevel@tonic-gate# lint-clean. 77e3320f40SmarkfenLINTCLEAN= 6to4relay arp in.rlogind in.rshd in.telnetd in.tftpd \ 78e3320f40Smarkfen ipaddrsel route \ 794b908718Smeem in.rarpd if_mpadm $(SYNCPROG) 807c478bd9Sstevel@tonic-gate# Likewise, as subdirs get lint-clean, add them here. Once 817c478bd9Sstevel@tonic-gate# they're all clean, replace the dependency of the lint target 827c478bd9Sstevel@tonic-gate# with SUBDIRS. Also (sigh) deal with the commented-out build lines 837c478bd9Sstevel@tonic-gate# for the lint rule. 84dbed73cbSSangeeta MisraLINTSUBDIRS= bootconfchk ilbadm in.rdisc in.routed in.talkd inetadm \ 85dd49f125SAnders Persson inetconv ipmpstat ipqosconf ipsecutils kssl/kssladm \ 86dd49f125SAnders Persson kssl/ksslcfg nwamadm nwamcfg ping routeadm sppptun traceroute \ 87dd49f125SAnders Persson wificonfig 887c478bd9Sstevel@tonic-gate# And as programs are verified not to attempt to write into constants, 897c478bd9Sstevel@tonic-gate# -xstrconst should be used to ensure they stay that way. 90e3320f40SmarkfenCONSTCLEAN= 917c478bd9Sstevel@tonic-gate 927c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd 937c478bd9Sstevel@tonic-gateROOTMANIFESTDIR= $(ROOTSVCNETWORK) 947c478bd9Sstevel@tonic-gate$(ROOTMANIFEST) := FILEMODE= 444 957c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd-inet 967c478bd9Sstevel@tonic-gate 977c478bd9Sstevel@tonic-gateROOTSBINPROG = $(ROOTFS_PROG:%=$(ROOTSBIN)/%) 987c478bd9Sstevel@tonic-gateROOTUSRSBINLINKS = $(SBINLINKS:%=$(ROOTUSRSBIN)/%) 997c478bd9Sstevel@tonic-gate 10032885d59SgtbCOMMONOBJS= addr_match.o kcmd.o store_forw_creds.o 1017243fb49SjbeckCOMMONSRCS= $(COMMONOBJS:%.o=$(CMDINETCOMMONDIR)/%.c) 1027c478bd9Sstevel@tonic-gateSRCS+= $(COMMONSRCS) 1037c478bd9Sstevel@tonic-gate 1047014882cSRichard LoweCERRWARN += -_gcc=-Wno-implicit-function-declaration 1057014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 1067014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable 1077014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-function 1087014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 1097014882cSRichard LoweCERRWARN += -_gcc=-Wno-char-subscripts 1107014882cSRichard LoweCERRWARN += -_gcc=-Wno-extra 1117014882cSRichard LoweCERRWARN += -_gcc=-Wno-address 1127014882cSRichard Lowe 1137c478bd9Sstevel@tonic-gate# 1147c478bd9Sstevel@tonic-gate# Message catalog 1157c478bd9Sstevel@tonic-gate# 1163e95bd4aSAnders PerssonPOFILES= 6to4relay.po if_mpadm.po in.comsat.po ipaddrsel.po route.po \ 1173e95bd4aSAnders Persson soconfig.po 1187c478bd9Sstevel@tonic-gatePOFILE= usr.sbin.po 1197c478bd9Sstevel@tonic-gate 1207c478bd9Sstevel@tonic-gateall:= TARGET= all 1217c478bd9Sstevel@tonic-gateinstall:= TARGET= install 1227c478bd9Sstevel@tonic-gateclean:= TARGET= clean 1237c478bd9Sstevel@tonic-gateclobber:= TARGET= clobber 1247c478bd9Sstevel@tonic-gatelint:= TARGET= lint 1257c478bd9Sstevel@tonic-gate_msg:= TARGET= _msg 1267c478bd9Sstevel@tonic-gate 127c2785286SgtbCLOBBERFILES += $(ROOTFS_PROG) $(PROG) 128b6805bf7SGordon RossCLEANFILES += $(COMMONOBJS) $(K5RLOGINOBJS) $(K5RSHDOBJS) $(TFTPDOBJS) \ 129b6805bf7SGordon Ross $(K5TELNETOBJS) 1307c478bd9Sstevel@tonic-gate 131a192e900SamaguireCPPFLAGS += -DSYSV -DBSD_COMP -I$(CMDINETCOMMONDIR) -I 1327c478bd9Sstevel@tonic-gate 1337c478bd9Sstevel@tonic-gateinclude $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5 1347c478bd9Sstevel@tonic-gateK5LIBS= 1357c478bd9Sstevel@tonic-gate 1367c478bd9Sstevel@tonic-gate# Eventually just plain CFLAGS should be += -v, but not until all in 1377c478bd9Sstevel@tonic-gate# PROGS are lint clean. 1387c478bd9Sstevel@tonic-gate$(LINTCLEAN) := CFLAGS += $(CCVERBOSE) 1397c478bd9Sstevel@tonic-gate$(CONSTCLEAN) := CFLAGS += $(XSTRCONST) 1407c478bd9Sstevel@tonic-gate 1417c478bd9Sstevel@tonic-gate$(SYNCPROG) := LDLIBS += -ldlpi 1427c478bd9Sstevel@tonic-gate$(SOCKETPROG) := LDLIBS += -lsocket 1437c478bd9Sstevel@tonic-gate$(NSLPROG) := LDLIBS += -lnsl 1447c478bd9Sstevel@tonic-gate$(AUDITPROG) := LDLIBS += -lbsm 1457c478bd9Sstevel@tonic-gate$(PAMPROG) := LDLIBS += -lpam 1467c478bd9Sstevel@tonic-gate$(RPCSVCPROG) := LDLIBS += -lrpcsvc 14767e3a03eSrie$(K5PROGS) := LDFLAGS += $(KRUNPATH) \ 1487c478bd9Sstevel@tonic-gate -L$(ROOT)$(KLIBDIR_DO) -L$(ROOT)$(KLIBDIR_GL) 1497c478bd9Sstevel@tonic-gate$(K5PROGS) := K5LIBS= -lmech_krb5 1507c478bd9Sstevel@tonic-gate$(K5PROGS) := CPPFLAGS += -I$(SRC)/head \ 1517c478bd9Sstevel@tonic-gate -I$(SRC)/uts/common/ \ 1527c478bd9Sstevel@tonic-gate -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 1537c478bd9Sstevel@tonic-gate -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 1547c478bd9Sstevel@tonic-gate -I$(SRC)/lib/pam_modules/krb5 1557c478bd9Sstevel@tonic-gateLDLIBS += $(K5LIBS) 15667e3a03eSrie$(TSNETPROG) := LDLIBS += -ltsnet 1572b24ab6bSSebastien Roy$(DLADMPROG) := LDLIBS += -ldladm 1587c478bd9Sstevel@tonic-gate 159948f2876Sss150715in.rarpd := LDLIBS += -linetutil -ldlpi 160e11c3f44Smeemif_mpadm := LDLIBS += -linetutil -lipmp 161e11c3f44Smeemif_mpadm.po := XGETFLAGS += -a 1627c478bd9Sstevel@tonic-gateroute := CPPFLAGS += -DNDEBUG 1636e91bba0SGirish Moodalbailndd := LDLIBS += -ldladm -lipadm 164*90a455acSGarrett D'Amorein.comsat := LDFLAGS += $(MAPFILE.NGB:%=-M%) 1657c478bd9Sstevel@tonic-gate 1667c478bd9Sstevel@tonic-gate.KEEP_STATE: 1677c478bd9Sstevel@tonic-gate 1687c478bd9Sstevel@tonic-gate.PARALLEL: 1697c478bd9Sstevel@tonic-gate 1704e5b757fSkupferall: $(PROG) $(ROOTFS_PROG) $(SUBDIRS) THIRDPARTYLICENSE.arp 1717c478bd9Sstevel@tonic-gate 1727c478bd9Sstevel@tonic-gate# 1737c478bd9Sstevel@tonic-gate# message catalog 1747c478bd9Sstevel@tonic-gate# 1757c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS) $(POFILE) 1767c478bd9Sstevel@tonic-gate 1777c478bd9Sstevel@tonic-gatesyncutil: $(SYNCPROG) 1787c478bd9Sstevel@tonic-gate 1797c478bd9Sstevel@tonic-gate$(POFILE): $(POFILES) 1807c478bd9Sstevel@tonic-gate $(RM) $@ 1817c478bd9Sstevel@tonic-gate cat $(POFILES) > $@ 1827c478bd9Sstevel@tonic-gate 1837243fb49Sjbeck%.o: $(CMDINETCOMMONDIR)/%.c 1847243fb49Sjbeck $(COMPILE.c) -o $@ $< 1857c478bd9Sstevel@tonic-gate 186c2785286Sgtbin.telnetd: $(K5TELNETOBJS) 187c2785286Sgtb $(LINK.c) $(K5TELNETOBJS) -o $@ $(LDLIBS) 1887c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1897c478bd9Sstevel@tonic-gate 190c2785286Sgtbin.rlogind: $(K5RLOGINOBJS) $(COMMONOBJS) 191c2785286Sgtb $(LINK.c) $(K5RLOGINOBJS) $(COMMONOBJS) -o $@ $(LDLIBS) 19232885d59Sgtb $(POST_PROCESS) 19332885d59Sgtb 194c2785286Sgtbin.rshd: $(K5RSHDOBJS) $(COMMONOBJS) 195c2785286Sgtb $(LINK.c) $(K5RSHDOBJS) $(COMMONOBJS) -o $@ $(LDLIBS) 1967c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1977c478bd9Sstevel@tonic-gate 1987c478bd9Sstevel@tonic-gatein.tftpd: $(TFTPDOBJS) 1997c478bd9Sstevel@tonic-gate $(LINK.c) $(TFTPDOBJS) -o $@ $(LDLIBS) 2007c478bd9Sstevel@tonic-gate $(POST_PROCESS) 2017c478bd9Sstevel@tonic-gate 2027c478bd9Sstevel@tonic-gatetftpsubs.o: $(OTHERSRC) 2037c478bd9Sstevel@tonic-gate $(COMPILE.c) $(OTHERSRC) -o $@ 2047c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 2057c478bd9Sstevel@tonic-gate 2067c478bd9Sstevel@tonic-gate$(ROOTUSRSBINLINKS): 2077c478bd9Sstevel@tonic-gate -$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@ 2087c478bd9Sstevel@tonic-gate 2097c478bd9Sstevel@tonic-gateinstall: $(PROG) $(ROOTFS_PROG) $(SUBDIRS) .WAIT $(ROOTUSRSBINPROG) \ 2107c478bd9Sstevel@tonic-gate $(ROOTSBINPROG) $(ROOTUSRSBINLINKS) $(ROOTETCDEFAULTFILES) \ 2113e95bd4aSAnders Persson $(ROOTMANIFEST) $(ROOTSVCMETHOD) THIRDPARTYLICENSE.arp 2124e5b757fSkupfer 2134e5b757fSkupferTHIRDPARTYLICENSE.arp: arp.c 2144e5b757fSkupfer $(SED) -n '/University of California/,/SUCH DAMAGE/p' arp.c > $@ 2154e5b757fSkupfer 2164e5b757fSkupferCLOBBERFILES += THIRDPARTYLICENSE.arp 2177c478bd9Sstevel@tonic-gate 2187c478bd9Sstevel@tonic-gate# 2197c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 2207c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 2217c478bd9Sstevel@tonic-gate# in our exportable source builds. 2227c478bd9Sstevel@tonic-gate# 2237c478bd9Sstevel@tonic-gate$(SUBDIRS): FRC 2247c478bd9Sstevel@tonic-gate @if [ -f $@/Makefile ]; then \ 2257c478bd9Sstevel@tonic-gate cd $@; pwd; $(MAKE) $(TARGET); \ 2267c478bd9Sstevel@tonic-gate else \ 2277c478bd9Sstevel@tonic-gate true; \ 2287c478bd9Sstevel@tonic-gate fi 2297c478bd9Sstevel@tonic-gate 2307c478bd9Sstevel@tonic-gateFRC: 2317c478bd9Sstevel@tonic-gate 2327c478bd9Sstevel@tonic-gatecheck: $(CHKMANIFEST) 2337c478bd9Sstevel@tonic-gate 234b6805bf7SGordon Rossclean: $(SUBDIRS) clean_local 235b6805bf7SGordon Rossclean_local: 236b6805bf7SGordon Ross $(RM) $(CLEANFILES) 2377c478bd9Sstevel@tonic-gate 238b6805bf7SGordon Rossclobber: $(SUBDIRS) clobber_local 239b6805bf7SGordon Rossclobber_local: clean_local 240b6805bf7SGordon Ross $(RM) $(CLOBBERFILES) 2417c478bd9Sstevel@tonic-gate 2427c478bd9Sstevel@tonic-gatelint: $(LINTSUBDIRS) 2432b24ab6bSSebastien Roy $(LINT.c) 6to4relay.c $(LDLIBS) -lsocket -ldladm 2447c478bd9Sstevel@tonic-gate $(LINT.c) arp.c $(LDLIBS) -lsocket -lnsl 2457c478bd9Sstevel@tonic-gate @# $(LINT.c) in.rexecd.c $(LDLIBS) -lbsm -lpam 2467c478bd9Sstevel@tonic-gate $(LINT.c) -erroff=E_NAME_USED_NOT_DEF2 -erroff=E_NAME_DEF_NOT_USED2 \ 2477c478bd9Sstevel@tonic-gate -I$(SRC)/head -I$(SRC)/uts/common/ \ 2487c478bd9Sstevel@tonic-gate -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 2497c478bd9Sstevel@tonic-gate -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 2507c478bd9Sstevel@tonic-gate -I$(SRC)/lib/pam_modules/krb5 \ 2517c478bd9Sstevel@tonic-gate in.rlogind.c $(COMMONSRCS) $(LDLIBS) -lbsm -lpam -lsocket -lnsl 2527c478bd9Sstevel@tonic-gate $(LINT.c) -erroff=E_NAME_USED_NOT_DEF2 -erroff=E_NAME_DEF_NOT_USED2 \ 2537c478bd9Sstevel@tonic-gate -I$(SRC)/head -I$(SRC)/uts/common/ \ 2547c478bd9Sstevel@tonic-gate -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 2557c478bd9Sstevel@tonic-gate -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 2567c478bd9Sstevel@tonic-gate -I$(SRC)/lib/pam_modules/krb5 \ 2577c478bd9Sstevel@tonic-gate in.rshd.c $(COMMONSRCS) $(LDLIBS) -lbsm -lpam -lsocket -lnsl 2587c478bd9Sstevel@tonic-gate $(LINT.c) -erroff=E_NAME_USED_NOT_DEF2 \ 2597c478bd9Sstevel@tonic-gate -erroff=E_GLOBAL_COULD_BE_STATIC2 \ 2607c478bd9Sstevel@tonic-gate -I$(SRC)/head -I$(SRC)/uts/common/ \ 2617c478bd9Sstevel@tonic-gate -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 2627c478bd9Sstevel@tonic-gate -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 2637c478bd9Sstevel@tonic-gate -I$(SRC)/lib/pam_modules/krb5 \ 2647c478bd9Sstevel@tonic-gate in.telnetd.c $(LDLIBS) -lbsm -lpam -lsocket -lnsl 265e11c3f44Smeem $(LINT.c) if_mpadm.c $(LDLIBS) -lsocket -lnsl -lipmp -linetutil 2667c478bd9Sstevel@tonic-gate $(LINT.c) ipaddrsel.c $(LDLIBS) -lsocket -lnsl 26745916cd2Sjpk $(LINT.c) route.c $(LDLIBS) -lsocket -lnsl -ltsnet 2687c478bd9Sstevel@tonic-gate $(LINT.c) syncinit.c $(LDLIBS) -ldlpi 2697c478bd9Sstevel@tonic-gate $(LINT.c) syncloop.c $(LDLIBS) -ldlpi 2707c478bd9Sstevel@tonic-gate $(LINT.c) syncstat.c $(LDLIBS) -ldlpi 2717c478bd9Sstevel@tonic-gate $(LINT.c) -erroff=E_NAME_USED_NOT_DEF2 in.rarpd.c $(LDLIBS) \ 2727c478bd9Sstevel@tonic-gate -lsocket -lnsl 2737c478bd9Sstevel@tonic-gate $(LINT.c) in.tftpd.c ../usr.bin/tftp/tftpsubs.c $(LDLIBS) \ 2747c478bd9Sstevel@tonic-gate -lsocket -lnsl 275