xref: /illumos-gate/usr/src/cmd/nscd/Makefile (revision d17be682)
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
5cb5caa98Sdjl# Common Development and Distribution License (the "License").
6cb5caa98Sdjl# 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#
217c478bd9Sstevel@tonic-gate#
2207925104Sgww# Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
235661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc.
247c478bd9Sstevel@tonic-gate#
25cb5caa98Sdjl# Makefile for name service cache daemon
26cb5caa98Sdjl#
277c478bd9Sstevel@tonic-gate
28ec2f0988SrafPROG=		nscd
297c478bd9Sstevel@tonic-gateMANIFEST=	name-service-cache.xml
307c478bd9Sstevel@tonic-gateSVCMETHOD=	svc-nscd
317c478bd9Sstevel@tonic-gate
327c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateROOTMANIFESTDIR=	$(ROOTSVCSYSTEM)
357c478bd9Sstevel@tonic-gate
36cb5caa98SdjlOBJS=	server.o getpw.o getgr.o gethost.o getnode.o \
37cb5caa98Sdjl	getether.o getrpc.o getproto.o getnet.o \
3807925104Sgww	getbootp.o getauth.o getserv.o \
39cb5caa98Sdjl	getnetmasks.o getprinter.o getproject.o \
40cb5caa98Sdjl	getexec.o getprof.o getuser.o cache.o \
41cb5caa98Sdjl	nscd_biggest.o nscd_wait.o \
42cb5caa98Sdjl	nscd_init.o nscd_access.o nscd_cfgfile.o nscd_config.o \
43cb5caa98Sdjl	nscd_dbimpl.o nscd_getentctx.o nscd_intaddr.o \
44cb5caa98Sdjl	nscd_log.o nscd_nswconfig.o nscd_nswstate.o nscd_nswcfgst.o \
45cb5caa98Sdjl	nscd_seqnum.o nscd_smfmonitor.o \
46cb5caa98Sdjl	nscd_switch.o nscd_nswparse.o nscd_initf.o nscd_selfcred.o \
47cb5caa98Sdjl	nscd_frontend.o nscd_admin.o nscd_door.o \
48cb5caa98Sdjl	gettnrhtp.o gettnrhdb.o
497c478bd9Sstevel@tonic-gate
5036e852a1SRaja AndraCLOBBERFILES=	nscd
517c478bd9Sstevel@tonic-gate
52ec2f0988SrafSRCS=	${OBJS:%.o=%.c}
537c478bd9Sstevel@tonic-gate
54ec2f0988SrafCFLAGS +=	$(CCVERBOSE)
55ec2f0988SrafCPPFLAGS +=	-D_REENTRANT -DSUN_THREADS \
56cb5caa98Sdjl		-I../../lib/libc/port/gen -I../../lib/libc/inc \
57cb5caa98Sdjl		-I../../lib/libsldap/common
587c478bd9Sstevel@tonic-gate
597014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-switch
60*d3b5f563SJohn LevonCERRWARN +=	$(CNOWARN_UNINIT)
617014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-parentheses
627014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-type-limits
637014882cSRichard Lowe
645661bb76SJohn Levon# not linted
655661bb76SJohn LevonSMATCH=off
665661bb76SJohn Levon
6724da5b34Srie# nscd interposes on many symbols, and must export others for its own dlsym()
6824da5b34Srie# use, and dlsym() calls from libc.  Itemizing the interfaces within a mapfile
6924da5b34Srie# is error-prone, so establish the whole object as an interposer.
7024da5b34SrieLDFLAGS +=	$(ZINTERPOSE)
7124da5b34Srie
727c478bd9Sstevel@tonic-gate# TCOV_FLAG=	-ql
737c478bd9Sstevel@tonic-gate
74c70a8a3bSmichenPROGLIBS=	$(LDLIBS) -lresolv -lnsl -lsocket -lumem -lscf -lavl
757c478bd9Sstevel@tonic-gate
767c478bd9Sstevel@tonic-gate# install macros and rule
777c478bd9Sstevel@tonic-gate#
787c478bd9Sstevel@tonic-gateROOTPROG=	${ROOTUSRSBIN}/nscd
797c478bd9Sstevel@tonic-gate
807c478bd9Sstevel@tonic-gate.KEEP_STATE:
817c478bd9Sstevel@tonic-gate
827c478bd9Sstevel@tonic-gateall: $(PROG) $(NISPROG)
837c478bd9Sstevel@tonic-gate
847c478bd9Sstevel@tonic-gate${PROG}: ${OBJS}
85ec2f0988Sraf	${LINK.c} ${OPT} -o $@ ${OBJS} ${PROGLIBS}
867c478bd9Sstevel@tonic-gate	${POST_PROCESS}
877c478bd9Sstevel@tonic-gate
887c478bd9Sstevel@tonic-gatecstyle:
89fb23c574SRichard Lowe	${CSTYLE} ${SRCS}
907c478bd9Sstevel@tonic-gate
9136e852a1SRaja Andrainstall: all $(ROOTPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
927c478bd9Sstevel@tonic-gate
937c478bd9Sstevel@tonic-gatecheck:	$(CHKMANIFEST)
947c478bd9Sstevel@tonic-gate
957c478bd9Sstevel@tonic-gateclean:
9636e852a1SRaja Andra	${RM} ${OBJS}
977c478bd9Sstevel@tonic-gate
987c478bd9Sstevel@tonic-gate${ROOTUSRSBIN}/%: %
997c478bd9Sstevel@tonic-gate	${INS.file}
1007c478bd9Sstevel@tonic-gate
1017c478bd9Sstevel@tonic-gate${ROOTUSRLIB}/%: %
1027c478bd9Sstevel@tonic-gate	${INS.file}
1037c478bd9Sstevel@tonic-gate
1047c478bd9Sstevel@tonic-gateinclude ../Makefile.targ
105