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 2007 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 
  26 LIBRARY= libkdb.a
  27 VERS= .1
  28 
  29 # kdb
  30 KDBOBJS= \
  31         keytab.o \
  32         encrypt_key.o \
  33         decrypt_key.o \
  34         kdb_convert.o \
  35         kdb_cpw.o \
  36         kdb_default.o \
  37         kdb_log.o \
  38         kdb5.o
  39 
  40 DERIVED_OBJS= \
  41         iprop_xdr.o
  42 
  43 # Definitions needed to rpcgen iprop-related files
  44 ISRCHDR= ../iprop.h
  45 ISRCXDR= ../iprop_xdr.c
  46 KRB5IPROPDIR=   $(SRC)/cmd/krb5/iprop
  47 CMD= grep -v "usr/src/cmd/krb5/iprop" > $@
  48 
  49 # libkdb5 needs to link against some files from kadm5
  50 KADM5DIR=       $(SRC)/lib/krb5/kadm5
  51 KADM5OBJS= alt_prof.o str_conv.o
  52 KADM5SRCS= $(KADM5DIR)/$(KADM5OBJS:%.o=%.c)
  53 
  54 OBJECTS= $(KDBOBJS) $(KADM5OBJS) $(DERIVED_OBJS)
  55 
  56 # include library definitions
  57 include ../../Makefile.lib
  58 
  59 SRCS=           $(KDBOBJS:%.o=../%.c)
  60 SRCS+=          $(DERIVED_OBJS:%.o=../%.c)
  61 SRCS+=          $(KADM5SRCS)
  62 
  63 LIBS=           $(DYNLIB)
  64 
  65 include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
  66 
  67 POFILE = $(LIBRARY:%.a=%.po)
  68 POFILES = generic.po
  69 
  70 # override liblink
  71 INS.liblink=    -$(RM) $@; $(SYMLINK) $(LIBLINKS)$(VERS) $@
  72 
  73 CPPFLAGS +=     -DHAVE_CONFIG_H -DHAVE_BT_RSEQ \
  74                 -I$(KRB5IPROPDIR) \
  75                 -I$(SRC)/lib/krb5 \
  76                 -I$(SRC)/lib/gss_mechs/mech_krb5/include \
  77                 -I$(SRC)/lib/gss_mechs/mech_krb5/krb5/os \
  78                 -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5 \
  79                 -I$(SRC)/uts/common/gssapi/include/ \
  80                 -I$(SRC)/uts/common/gssapi/mechs/krb5/include
  81 
  82 CFLAGS +=       $(CCVERBOSE) -I..
  83 
  84 CERRWARN +=     -_gcc=-Wno-unused-variable
  85 CERRWARN +=     -_gcc=-Wno-unused-function
  86 CERRWARN +=     -_gcc=-Wno-type-limits
  87 CERRWARN +=     -_gcc=-Wno-uninitialized
  88 CERRWARN +=     -_gcc=-Wno-parentheses
  89 
  90 DYNFLAGS +=     $(KRUNPATH) $(KMECHLIB)
  91 LDLIBS +=       -lc -lnsl
  92 
  93 .KEEP_STATE:
  94 
  95 all:    $(LIBS)
  96 
  97 # Rules to rpcgen-erate derived files from the iprop.x spec file
  98 $(ISRCHDR):     $(KRB5IPROPDIR)/iprop.x
  99         $(RM)   $@
 100         $(RPCGEN) -h $(KRB5IPROPDIR)/iprop.x > $@
 101 
 102 $(ISRCXDR):     $(ISRCHDR) $(KRB5IPROPDIR)/iprop.x
 103         $(RM) $@
 104         $(RPCGEN) -c $(KRB5IPROPDIR)/iprop.x | $(CMD)
 105 
 106 CLEANFILES +=   $(ISRCHDR) $(ISRCXDR)
 107 
 108 # Explicitly state the dependancy on iprop.h
 109 $(LIBS): $(ISRCHDR)
 110 
 111 # We turn off ptr-cast warnings, since we're doing mmapping in kdb_log
 112 LINTFLAGS +=    -erroff=E_BAD_PTR_CAST_ALIGN
 113 
 114 lint:   lintcheck
 115 
 116 # include library targets
 117 include ../../Makefile.targ
 118 
 119 FRC:
 120 
 121 generic.po: FRC
 122         $(RM) messages.po
 123         $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext ../*.[ch]`
 124         $(SED) "/^domain/d" messages.po > $@
 125         $(RM) messages.po