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 # Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  22 #
  23 # Makefile for Kerberos client-install utility.
  24 #
  25 # Copyright (c) 2018, Joyent, Inc.
  26 
  27 PROG=           ksetpw \
  28                 kdyndns \
  29                 ksmb \
  30                 kconf
  31 
  32 SHFILES=        kclient
  33 SECFILES=       pam_krb5_first \
  34                 pam_krb5_only \
  35                 pam_krb5_optional
  36 CLOBBERFILES += $(SHFILES)
  37 
  38 KRB5SBINSHFILES=$(SHFILES:%=$(KRB5SBIN)/%)
  39 
  40 USRLIBSEC=      $(ROOT)/usr/lib/security
  41 SEC=            $(SECFILES:%=$(USRLIBSEC)/%)
  42 $(SEC):=        FILEMODE = $(LIBFILEMODE)
  43 
  44 KS_OBJS=        ksetpw.o
  45 KD_OBJS=        kdyndns.o
  46 KSMB_OBJS=      ksmb.o
  47 KC_OBJS=        kconf.o
  48 
  49 OBJS=           $(KS_OBJS) $(KD_OBJS) $(KSMB_OBJS) $(KC_OBJS)
  50 
  51 SSRCS=  kclient.sh
  52 SRCS=   $(OBJS:%.o=%.c)
  53 
  54 include ../../../Makefile.cmd
  55 include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
  56 
  57 POFILE= $(SSRCS:%.sh=%.po)
  58 
  59 CPPFLAGS += -I$(SRC)/uts/common/gssapi/include \
  60         -I$(SRC)/lib/krb5 -I$(SRC)/lib/gss_mechs/mech_krb5/include \
  61         -I$(SRC)/uts/common/gssapi/include  \
  62         -I$(SRC)/uts/common/gssapi/mechs/krb5/include
  63 
  64 CERRWARN += -_gcc=-Wno-uninitialized
  65 CERRWARN += -_gcc=-Wno-parentheses
  66 CERRWARN += -_gcc=-Wno-unused-function
  67 
  68 # not linted
  69 SMATCH=off
  70 
  71 ksetpw:=        LDFLAGS += $(KRUNPATH)
  72 kdyndns:=       LDFLAGS += -R/usr/lib/smbsrv
  73 ksmb:=          LDFLAGS += -R/usr/lib/smbsrv
  74 kconf:=         LDFLAGS += $(KRUNPATH)
  75 
  76 KS_LDLIBS =     $(LDLIBS) $(KMECHLIB)
  77 KD_LDLIBS =     $(LDLIBS) -L$(ROOT)/usr/lib/smbsrv -lsmbns
  78 KSMB_LDLIBS =   $(LDLIBS) -L$(ROOT)/usr/lib/smbsrv -lsmb
  79 KC_LDLIBS =     $(LDLIBS) $(KMECHLIB)
  80 
  81 .KEEP_STATE:
  82 
  83 all: $(PROG) $(SHFILES) $(SEC)
  84 
  85 install: all $(KRB5SBIN) $(KRB5SBINSHFILES) $(KRB5LIBSHFILES) $(KRB5LIBPROG)
  86 
  87 kdyndns:        $(KD_OBJS)
  88         $(LINK.c) $(KD_OBJS) -o $@ $(KD_LDLIBS)
  89         $(POST_PROCESS)
  90 
  91 ksmb:           $(KSMB_OBJS)
  92         $(LINK.c) $(KSMB_OBJS) -o $@ $(KSMB_LDLIBS)
  93         $(POST_PROCESS)
  94 
  95 ksetpw:         $(KS_OBJS)
  96         $(LINK.c) $(KS_OBJS) -o $@ $(KS_LDLIBS)
  97         $(POST_PROCESS)
  98 
  99 kconf:          $(KC_OBJS)
 100         $(LINK.c) $(KC_OBJS) -o $@ $(KC_LDLIBS)
 101         $(POST_PROCESS)
 102 
 103 $(KRB5SBIN):
 104         $(INS.dir)
 105 
 106 $(USRLIBSEC)/%: %
 107         $(INS.file)
 108 
 109 clean:
 110         $(RM) $(OBJS)
 111 
 112 lint:   lint_SRCS
 113 
 114 include ../../../Makefile.targ