1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
  23 #
  24 # Makefile for name service cache daemon
  25 #
  26 
  27 PROG=           nscd
  28 MANIFEST=       name-service-cache.xml
  29 SVCMETHOD=      svc-nscd
  30 
  31 include ../Makefile.cmd
  32 
  33 ROOTMANIFESTDIR=        $(ROOTSVCSYSTEM)
  34 
  35 OBJS=   server.o getpw.o getgr.o gethost.o getnode.o \
  36         getether.o getrpc.o getproto.o getnet.o \
  37         getbootp.o getauth.o getserv.o \
  38         getnetmasks.o getprinter.o getproject.o \
  39         getexec.o getprof.o getuser.o cache.o \
  40         nscd_biggest.o nscd_wait.o \
  41         nscd_init.o nscd_access.o nscd_cfgfile.o nscd_config.o \
  42         nscd_dbimpl.o nscd_getentctx.o nscd_intaddr.o \
  43         nscd_log.o nscd_nswconfig.o nscd_nswstate.o nscd_nswcfgst.o \
  44         nscd_seqnum.o nscd_smfmonitor.o \
  45         nscd_switch.o nscd_nswparse.o nscd_initf.o nscd_selfcred.o \
  46         nscd_frontend.o nscd_admin.o nscd_door.o \
  47         gettnrhtp.o gettnrhdb.o
  48 
  49 CLOBBERFILES=   nscd
  50 
  51 SRCS=   ${OBJS:%.o=%.c}
  52 
  53 CFLAGS +=       $(CCVERBOSE)
  54 CPPFLAGS +=     -D_REENTRANT -DSUN_THREADS \
  55                 -I../../lib/libc/port/gen -I../../lib/libc/inc \
  56                 -I../../lib/libsldap/common
  57 LINTFLAGS +=    -erroff=E_GLOBAL_COULD_BE_STATIC2
  58 LINTFLAGS +=    -erroff=E_NAME_USED_NOT_DEF2
  59 LINTFLAGS +=    -erroff=E_NAME_DEF_NOT_USED2
  60 
  61 CERRWARN +=     -_gcc=-Wno-switch
  62 CERRWARN +=     -_gcc=-Wno-uninitialized
  63 CERRWARN +=     -_gcc=-Wno-parentheses
  64 CERRWARN +=     -_gcc=-Wno-type-limits
  65 
  66 # nscd interposes on many symbols, and must export others for its own dlsym()
  67 # use, and dlsym() calls from libc.  Itemizing the interfaces within a mapfile
  68 # is error-prone, so establish the whole object as an interposer.
  69 LDFLAGS +=      $(ZINTERPOSE)
  70 
  71 # TCOV_FLAG=    -ql
  72 # GPROF_FLAG=   -xpg
  73 # DEBUG_FLAG=   -g
  74 
  75 PROGLIBS=       $(LDLIBS) -lresolv -lnsl -lsocket -lumem -lscf -lavl
  76 
  77 # install macros and rule
  78 #
  79 ROOTPROG=       ${ROOTUSRSBIN}/nscd
  80 
  81 .KEEP_STATE:
  82 
  83 all: $(PROG) $(NISPROG)
  84 
  85 ${PROG}: ${OBJS}
  86         ${LINK.c} ${OPT} -o $@ ${OBJS} ${PROGLIBS}
  87         ${POST_PROCESS}
  88 
  89 lint:
  90         $(LINT.c) ${SRCS} ${PROGLIBS}
  91 
  92 cstyle:
  93         ${CSTYLE} ${SRCS} 
  94 
  95 install: all $(ROOTPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
  96 
  97 check:  $(CHKMANIFEST)
  98 
  99 clean:
 100         ${RM} ${OBJS}
 101 
 102 ${ROOTUSRSBIN}/%: %
 103         ${INS.file}
 104 
 105 ${ROOTUSRLIB}/%: %
 106         ${INS.file}
 107 
 108 include ../Makefile.targ