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 #
  23 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # Copyright (c) 2018, Joyent, Inc.
  27 
  28 TESTPROG = kwarndtest 
  29 
  30 PROG= ktkt_warnd
  31 MANIFEST=       ktkt_warn.xml
  32 
  33 KWARNDOBJS = kwarnd.o kwarnd_svc.o kwarnd_proc.o kwarnd_generic.o kwarnd_send.o
  34 KWARNTOBJS = kwarndtest.o
  35 
  36 G_OBJS   = kwarnd_xdr.o 
  37 
  38 OBJS    = $(KWARNDOBJS) $(KWARNTOBJS) $(G_OBJS)
  39 SRCS    = $(OBJS:.o=.c)
  40 RSRC    = kwarnd_xdr.c kwarnd_svc.c kwarnd.h
  41 
  42 CLOBBERFILES += $(TESTPROG)
  43 
  44 include ../../Makefile.cmd
  45 include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
  46 
  47 ROOTMANIFESTDIR=        $(ROOTSVCNETWORKSECURITY)
  48 
  49 POFILE = $(PROG).po
  50 POFILES = generic.po
  51 
  52 COPTFLAG +=     $(XESS) #-I$(KINCDIR) 
  53 CPPFLAGS +=     -D_REENTRANT
  54 
  55 CERRWARN +=     -_gcc=-Wno-unused-variable
  56 CERRWARN +=     -_gcc=-Wno-unused-function
  57 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  58 CERRWARN +=     -_gcc=-Wno-parentheses
  59 
  60 # not linted
  61 SMATCH=off
  62 
  63 CPPFLAGS += -I../../lib/gss_mechs/mech_krb5/include \
  64                  -I$(SRC)/lib/gss_mechs/mech_krb5 \
  65                  -I$(SRC)/lib/gss_mechs/mech_krb5/include \
  66                  -I$(SRC)/uts/common/gssapi/mechs/krb5/include
  67 
  68 ktkt_warnd :=   MAPFILES =      $(MAPFILE.INT) $(MAPFILE.NGB)
  69 ktkt_warnd :=   LDFLAGS +=      $(KRUNPATH) $(MAPFILES:%=-M%)
  70 
  71 LDFLAGS +=      $(KRUNPATH)
  72 LDLIBS +=       $(KMECHLIB) -lnsl
  73 
  74 .KEEP_STATE:
  75 
  76 all: $(PROG) $(TESTPROG)
  77 
  78 $(PROG):        $(G_OBJS) $(KWARNDOBJS) $$(MAPFILES)
  79         $(LINK.c) $(KWARNDOBJS) $(G_OBJS) -o $@ $(LDLIBS)
  80         $(POST_PROCESS)
  81 
  82 # the client entry points (kwarn_*_warning) are now avail in mech_krb5.so
  83 $(TESTPROG):    $(KWARNTOBJS)
  84         $(LINK.c) $(KWARNTOBJS) -o $@ $(LDLIBS)
  85         $(POST_PROCESS)
  86 
  87 #  Rules to generate derived rpcgen files from kwarnd.x spec file.
  88 
  89 kwarnd.h:        kwarnd.x
  90         $(RM) $@
  91         $(RPCGEN) -M -h kwarnd.x > $@
  92 
  93 kwarnd_svc.c:    kwarnd.x
  94         $(RM) $@
  95         $(RPCGEN) -M -m kwarnd.x > $@
  96 
  97 kwarnd_xdr.c:    kwarnd.x
  98         $(RM) $@
  99         $(RPCGEN) -M -c kwarnd.x > $@
 100 
 101 $(OBJS): kwarnd.h
 102 
 103 # note that nightly depends on having all of the derived
 104 # .c files built here on 'make install', even though this
 105 # module doesn't use all of those files.
 106 install: $(KRB5LIBPROG) $(RSRC) $(ROOTMANIFEST)
 107 
 108 check:  $(CHKMANIFEST)
 109 
 110 clean:
 111         $(RM) $(OBJS) $(RSRC)
 112 
 113 lint: lint_SRCS
 114 
 115 include ../../Makefile.targ
 116 
 117 #additional dependencies
 118 
 119 $(LIBRARY) : $(OBJS)
 120 $(DYNLIB) : $(PICS)
 121 
 122 FRC:
 123 
 124 $(POFILE): $(DERIVED_FILES) .WAIT $(POFILES)
 125         $(RM) $@
 126         $(CAT) $(POFILES) > $@
 127 
 128 generic.po: FRC
 129         $(RM) messages.po
 130         $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]`
 131         $(SED) "/^domain/d" messages.po > $@
 132         $(RM) messages.po