Makefile revision 69bb4bb45c98da60d21839c4dc3c01ea1be60585
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# CDDL HEADER START
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# The contents of this file are subject to the terms of the
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Common Development and Distribution License (the "License").
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# You may not use this file except in compliance with the License.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# or http://www.opensolaris.org/os/licensing.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# See the License for the specific language governing permissions
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# and limitations under the License.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# When distributing Covered Code, include this CDDL HEADER in each
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# If applicable, add the following below this CDDL HEADER, with the
64caa91f2899a6648503a75dc7310841955b74fdJucaBlues# fields enclosed by brackets "[]" replaced with your own identifying
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# information: Portions Copyright [yyyy] [name of copyright owner]
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# CDDL HEADER END
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen# Use is subject to license terms.
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen#
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen# ident "%Z%%M% %I% %E% SMI"
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen#
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenPROG= finger rdate ruptime rwho whois
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenSUIDPROG= rcp rlogin rsh
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenALL= $(PROG) $(SUIDPROG)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmSRCS= $(ALL:%=%.c)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmKCMDPROGS= rcp rlogin rsh
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmSUBDIRS= chat ftp nca netstat pppd pppdump pppstats rdist talk tftp telnet
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmSUBDIR1= talk
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmMSGSUBDIRS= nca talk
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# As programs get lint-clean, add them here. Eventually.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# This hack should go away, and all in PROG should be lint-clean.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmLINTCLEAN= rlogin.c rsh.c rcp.c rdate.c rwho.c
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Likewise, as subdirs get lint-clean, add them here. Once
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# they're all clean, replace the dependency of the lint target
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# with SUBDIRS. Also (sigh) deal with the commented-out build lines
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen# for the lint rule.
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenLINTSUBDIRS= nca netstat pppd pppstats tftp
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminclude ../../Makefile.cmd
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminclude ../Makefile.cmd-inet
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmCOMMONOBJS= kcmd.o
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmCOMMONPOFILES= $(COMMONOBJS:.o=.po)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmCOMMONSRCS= $(CMDINETCOMMONDIR)/$(COMMONOBJS:.o=.c)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmPOFILES= rlogin.po rsh.po rcp.po $(COMMONPOFILES)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmPOFILE= usr.bin.po
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmall:= TARGET= all
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminstall:= TARGET= install
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmclean:= TARGET= clean
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmclobber:= TARGET= clobber
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmlint:= TARGET= lint
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm_msg:= TARGET= _msg
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmROOTSUIDPROG= $(SUIDPROG:%=$(ROOTBIN)/%)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(ROOTSUIDPROG) := FILEMODE= 04555
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(ROOTSUIDPROG) := OWNER= root
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmCPPFLAGS += -DSYSV -DSTRNET -DBSD_COMP -I$(CMDINETCOMMONDIR)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Eventually just plain CFLAGS should be += -v, but not until all in
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# PROGS are lint clean.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(LINTCLEAN) := CFLAGS += $(CCVERBOSE)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmfinger := CFLAGS += $(CCVERBOSE)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Enable large file support for reading the lastlog file.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmfinger := CPPFLAGS += -D_FILE_OFFSET_BITS=64
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmfinger := LDLIBS += -lnsl -lcurses -lcmd -lsocket
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrcp lint-rcp := LDLIBS += -lsocket -lsec -lsendfile
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrdate lint-rdate:= LDLIBS += -lsocket
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrlogin lint-rlogin := LDLIBS += -lnsl -lsocket
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrsh lint-rsh := LDLIBS += -lsocket
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmwhois := LDLIBS += -lnsl -lsocket
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminclude $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
c0cd5511d3b975ebe07d019c1f5528108725e438johanengelen$(KCMDPROGS) := LDLIBS += -lnsl -lmech_krb5
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(KCMDPROGS) := LDFLAGS += $(ZIGNORE) $(ZLAZYLOAD) $(KRUNPATH) \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -L$(ROOT)$(KLIBDIR_DO) \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -L$(ROOT)$(KLIBDIR_GL)
7073d105e612f7dc898c292742bee9655d2a51b2johanengelenKCMDLINTS= $(KCMDPROGS:%=lint-%)
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen$(COMMONPOFILES) \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelenrlogin.po rcp.po rsh.po \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen$(KCMDPROGS) \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen$(KCMDLINTS) := CPPFLAGS += -DKERBEROS \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -I$(CMDINETCOMMONDIR) \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -I$(SRC)/lib/gss_mechs/mech_krb5 \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -I$(SRC)/uts/common/gssapi/mechs/krb5/include \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -I$(SRC)/lib/gss_mechs/mech_krb5/include \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen# "-erroff=E_NAME_USED_NOT_DEF2" and "-erroff=E_NAME_DEF_NOT_USED2"
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen# are required because lint problems in the Kerberos 5 framework.
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen$(KCMDLINTS) := LINTFLAGS += -lnsl \
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm -erroff=E_NAME_USED_NOT_DEF2 \
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen -erroff=E_NAME_DEF_NOT_USED2
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Extra source files to lint with
7073d105e612f7dc898c292742bee9655d2a51b2johanengelenLINTXTRA=
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen$(KCMDLINTS) := LINTXTRA += $(COMMONSRCS)
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen
7073d105e612f7dc898c292742bee9655d2a51b2johanengelenROOTSUNWRCP= $(ROOT)/usr/lib/sunw,rcp
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmROOTRSHSYMLINK= $(ROOT)/usr/ucb/rsh
7073d105e612f7dc898c292742bee9655d2a51b2johanengelenROOTREMSHSYMLINK=$(ROOT)/usr/bin/remsh
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen
7073d105e612f7dc898c292742bee9655d2a51b2johanengelen.KEEP_STATE:
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmall: $(ALL) $(SUBDIRS)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminstall: all .WAIT $(ROOTPROG) $(ROOTSUIDPROG) \
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm $(SUBDIRS) $(ROOTSUNWRCP) $(ROOTRSHSYMLINK) $(ROOTREMSHSYMLINK)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Messaging - copy $POFILES to $POFILE to work with the parent directory
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Makefile's '_msg' target.
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen#
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen_msg: $(MSGSUBDIRS) $(POFILES)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(RM) $(POFILE)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(CAT) $(POFILES) > $(POFILE)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen$(COMMONPOFILES): $(COMMONSRCS)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(COMPILE.cpp) $(COMMONSRCS) > $(@:.po=.c).i
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(XGETTEXT) $(XGETFLAGS) $(@:.po=.c).i
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(RM) $@
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen sed "/^domain/d" < messages.po > $@
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(RM) messages.po $(@:.po=.c).i
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen$(COMMONOBJS): $(COMMONSRCS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(COMPILE.c) $(COMMONSRCS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenrlogin: rlogin.o $(COMMONOBJS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(LINK.c) $@.o $(COMMONOBJS) -o $@ $(LDLIBS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(POST_PROCESS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenrcp: rcp.o $(COMMONOBJS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(LINK.c) $@.o $(COMMONOBJS) -o $@ $(LDLIBS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen $(POST_PROCESS)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
d431763a9ec8059aa4962688de8144319969fb0fjohanengelenrsh: rsh.o $(COMMONOBJS)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(LINK.c) $@.o $(COMMONOBJS) -o $@ $(LDLIBS)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(POST_PROCESS)
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen$(ROOTSUNWRCP):
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen $(RM) $@; $(SYMLINK) ../bin/rcp $@
0903335a0099bd7ee779925f43a15a2216a0e863johanengelen
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(ROOTRSHSYMLINK):
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm $(RM) $@; $(SYMLINK) ../bin/rsh $@
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(ROOTREMSHSYMLINK):
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm $(RM) $@; $(SYMLINK) rsh $@
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen$(SUBDIRS): FRC
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen @cd $@; pwd; $(MAKE) $(MFLAGS) $(TARGET)
d431763a9ec8059aa4962688de8144319969fb0fjohanengelen
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmFRC:
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmclean: $(SUBDIRS)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmclobber: $(SUBDIRS) clobber_local
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmclobber_local:
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm echo $(CLOBBERFILES)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm $(RM) $(ALL) $(CLOBBERFILES)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmLINTLOCALS= $(LINTCLEAN:%.c=lint-%)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmlint: $(LINTSUBDIRS) $(LINTLOCALS)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm$(LINTLOCALS):
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm $(LINT.c) $(@:lint-%=%.c) $(LINTXTRA) $(LDLIBS)