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) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
  23 #
  24 # Copyright (c) 2018, Joyent, Inc.
  25 
  26 LIBRARY = libgss.a
  27 VERS = .1
  28 
  29 GSSOBJECTS      = g_acquire_cred.o \
  30           g_acquire_cred_with_pw.o \
  31           g_store_cred.o \
  32           g_rel_cred.o \
  33           g_init_sec_context.o \
  34           g_accept_sec_context.o \
  35           g_process_context.o \
  36           g_delete_sec_context.o \
  37           g_imp_sec_context.o \
  38           g_exp_sec_context.o \
  39           g_context_time.o \
  40           g_sign.o \
  41           g_verify.o \
  42           g_seal.o \
  43           g_unseal.o \
  44           g_dsp_status.o \
  45           g_compare_name.o \
  46           g_dsp_name.o \
  47           g_imp_name.o \
  48           g_rel_name.o \
  49           g_rel_buffer.o \
  50           g_rel_oid_set.o \
  51           g_oid_ops.o \
  52           g_inquire_cred.o \
  53           g_inquire_context.o \
  54           g_inquire_names.o \
  55           g_initialize.o \
  56           g_glue.o \
  57           gssd_pname_to_uid.o \
  58           oid_ops.o \
  59           g_canon_name.o \
  60           g_dup_name.o \
  61           g_export_name.o \
  62           g_utils.o \
  63           g_userok.o \
  64           g_buffer_set.o \
  65           g_inq_context_oid.o \
  66 
  67 
  68 # defines the duplicate sources we share with gsscred
  69 GSSCRED_DIR =   $(SRC)/cmd/gss/gsscred
  70 GSSCREDOBJ =    gsscred_utils.o gsscred_file.o
  71 # defines the duplicate sources we share with krb5 mech
  72 KRB5DIR= $(SRC)/lib/gss_mechs/mech_krb5/mech
  73 KRB5OBJ= rel_buffer.o util_buffer_set.o disp_com_err_status.o \
  74               util_buffer.o  util_errmap.o
  75 # defines the duplicate sources we share with krb5 mech error table
  76 KRB5ETDIR= $(SRC)/lib/gss_mechs/mech_krb5/et
  77 KRB5ETOBJ= error_message.o adb_err.o adm_err.o asn1_err.o \
  78               chpass_util_strings.o \
  79               gssapi_err_krb5.o gssapi_err_generic.o \
  80               import_err.o \
  81               kadm_err.o kdb5_err.o kdc5_err.o kpasswd_strings.o krb5_err.o \
  82               kv5m_err.o prof_err.o pty_err.o ss_err.o
  83 # defines the duplicate sources we share with kernel module
  84 UTSGSSDIR =     $(SRC)/uts/common/gssapi
  85 UTSGSSOBJ =     gen_oids.o
  86 
  87 SRCS +=         $(GSSCREDOBJ:%.o=$(GSSCRED_DIR)/%.c) \
  88                 $(KRB5OBJ:%.o=$(KRB5DIR)/%.c) \
  89                 $(KRB5ETOBJ:%.o=$(KRB5ETDIR)/%.c) \
  90                 $(UTSGSSOBJ:%.o=$(UTSGSSDIR)/%.c)
  91 GSSLINTSRC =    $(GSSOBJECTS:%.o=$(SRCDIR)/%.c) \
  92                 $(GSSCREDOBJ:%.o=$(GSSCRED_DIR)/%.c) \
  93                 $(UTSGSSOBJ:%.o=$(UTSGSSDIR)/%.c)
  94 OBJECTS =       $(GSSOBJECTS) $(GSSCREDOBJ) $(KRB5OBJ) $(UTSGSSOBJ) $(KRB5ETOBJ)
  95 
  96 # include library definitions
  97 include ../../Makefile.lib
  98 
  99 LIBS =  $(DYNLIB) $(LINTLIB)
 100 
 101 $(LINTLIB):=    SRCS = $(SRCDIR)/$(LINTSRC)
 102 LDLIBS +=       -lc
 103 
 104 CPPFLAGS +=     -I$(GSSCRED_DIR) -I$(SRC)/uts/common/gssapi/include \
 105                  -I$(SRC)/uts/common/gssapi/mechs/krb5/include \
 106                  -I$(SRC)/uts/common/gssapi/ \
 107                  -I$(SRC)/lib/gss_mechs/mech_krb5/include/ \
 108                 -DHAVE_STDLIB_H
 109 
 110 CERRWARN +=     -_gcc=-Wno-unused-function
 111 CERRWARN +=     $(CNOWARN_UNINIT)
 112 CERRWARN +=     -_gcc=-Wno-parentheses
 113 CERRWARN +=     -_gcc=-Wno-empty-body
 114 
 115 # not linted
 116 SMATCH=off
 117 
 118 .KEEP_STATE:
 119 
 120 all: $(LIBS)
 121 
 122 lintcheck:=     SRCS= $(GSSLINTSRC)
 123 
 124 lint:  lintcheck
 125 
 126 $(GSSCREDOBJ:%.o=pics/%.o):
 127         $(COMPILE.c) -o $@ $(@:pics/%.o=$(GSSCRED_DIR)/%.c)
 128         $(POST_PROCESS_O)
 129 
 130 # we need this in libgss so we don't have to link against mech_krb5
 131 pics/rel_buffer.o: $(KRB5DIR)/rel_buffer.c
 132         $(COMPILE.c) -o $@ $(KRB5DIR)/rel_buffer.c
 133         $(POST_PROCESS_O)
 134 
 135 # we need this in libgss so we don't have to link against mech_krb5
 136 pics/util_buffer_set.o: $(KRB5DIR)/util_buffer_set.c
 137         $(COMPILE.c) -o $@ $(KRB5DIR)/util_buffer_set.c
 138         $(POST_PROCESS_O)
 139 
 140 # we need this in libgss so we don't have to link against mech_krb5
 141 pics/disp_com_err_status.o: $(KRB5DIR)/disp_com_err_status.c
 142         $(COMPILE.c) -o $@ $(KRB5DIR)/disp_com_err_status.c
 143         $(POST_PROCESS_O)
 144 
 145 # we need this in libgss so we don't have to link against mech_krb5
 146 pics/util_buffer.o: $(KRB5DIR)/util_buffer.c
 147         $(COMPILE.c) -o $@ $(KRB5DIR)/util_buffer.c
 148         $(POST_PROCESS_O)
 149 
 150 # we need this in libgss so we don't have to link against mech_krb5
 151 pics/util_errmap.o: $(KRB5DIR)/util_errmap.c
 152         $(COMPILE.c) -o $@ $(KRB5DIR)/util_errmap.c
 153         $(POST_PROCESS_O)
 154 
 155 # we need this in libgss so we don't have to link against mech_krb5
 156 pics/error_message.o: $(KRB5ETDIR)/error_message.c
 157         $(COMPILE.c) -o $@ $(KRB5ETDIR)/error_message.c
 158         $(POST_PROCESS_O)
 159 
 160 # we need this in libgss so we don't have to link against mech_krb5
 161 pics/adb_err.o: $(KRB5ETDIR)/adb_err.c
 162         $(COMPILE.c) -o $@ $(KRB5ETDIR)/adb_err.c
 163         $(POST_PROCESS_O)
 164 
 165 pics/adm_err.o: $(KRB5ETDIR)/adm_err.c
 166         $(COMPILE.c) -o $@ $(KRB5ETDIR)/adm_err.c
 167         $(POST_PROCESS_O)
 168 
 169 # we need this in libgss so we don't have to link against mech_krb5
 170 pics/asn1_err.o: $(KRB5ETDIR)/asn1_err.c
 171         $(COMPILE.c) -o $@ $(KRB5ETDIR)/asn1_err.c
 172         $(POST_PROCESS_O)
 173 
 174 # we need this in libgss so we don't have to link against mech_krb5
 175 pics/chpass_util_strings.o: $(KRB5ETDIR)/chpass_util_strings.c
 176         $(COMPILE.c) -o $@ $(KRB5ETDIR)/chpass_util_strings.c
 177         $(POST_PROCESS_O)
 178 
 179 # we need this in libgss so we don't have to link against mech_krb5
 180 pics/gssapi_err_generic.o: $(KRB5ETDIR)/gssapi_err_generic.c
 181         $(COMPILE.c) -o $@ $(KRB5ETDIR)/gssapi_err_generic.c
 182         $(POST_PROCESS_O)
 183 
 184 # we need this in libgss so we don't have to link against mech_krb5
 185 pics/gssapi_err_krb5.o: $(KRB5ETDIR)/gssapi_err_krb5.c
 186         $(COMPILE.c) -o $@ $(KRB5ETDIR)/gssapi_err_krb5.c
 187         $(POST_PROCESS_O)
 188 
 189 
 190 # we need this in libgss so we don't have to link against mech_krb5
 191 pics/import_err.o: $(KRB5ETDIR)/import_err.c
 192         $(COMPILE.c) -o $@ $(KRB5ETDIR)/import_err.c
 193         $(POST_PROCESS_O)
 194 
 195 # we need this in libgss so we don't have to link against mech_krb5
 196 pics/kadm_err.o: $(KRB5ETDIR)/kadm_err.c
 197         $(COMPILE.c) -o $@ $(KRB5ETDIR)/kadm_err.c
 198         $(POST_PROCESS_O)
 199 
 200 # we need this in libgss so we don't have to link against mech_krb5
 201 pics/kdb5_err.o: $(KRB5ETDIR)/kdb5_err.c
 202         $(COMPILE.c) -o $@ $(KRB5ETDIR)/kdb5_err.c
 203         $(POST_PROCESS_O)
 204 
 205 # we need this in libgss so we don't have to link against mech_krb5
 206 pics/kdc5_err.o: $(KRB5ETDIR)/kdc5_err.c
 207         $(COMPILE.c) -o $@ $(KRB5ETDIR)/kdc5_err.c
 208         $(POST_PROCESS_O)
 209 
 210 # we need this in libgss so we don't have to link against mech_krb5
 211 pics/kpasswd_strings.o: $(KRB5ETDIR)/kpasswd_strings.c
 212         $(COMPILE.c) -o $@ $(KRB5ETDIR)/kpasswd_strings.c
 213         $(POST_PROCESS_O)
 214 
 215 # we need this in libgss so we don't have to link against mech_krb5
 216 pics/krb5_err.o: $(KRB5ETDIR)/krb5_err.c
 217         $(COMPILE.c) -o $@ $(KRB5ETDIR)/krb5_err.c
 218         $(POST_PROCESS_O)
 219 
 220 # we need this in libgss so we don't have to link against mech_krb5
 221 pics/kv5m_err.o: $(KRB5ETDIR)/kv5m_err.c
 222         $(COMPILE.c) -o $@ $(KRB5ETDIR)/kv5m_err.c
 223         $(POST_PROCESS_O)
 224 
 225 # we need this in libgss so we don't have to link against mech_krb5
 226 pics/prof_err.o: $(KRB5ETDIR)/prof_err.c
 227         $(COMPILE.c) -o $@ $(KRB5ETDIR)/prof_err.c
 228         $(POST_PROCESS_O)
 229 
 230 # we need this in libgss so we don't have to link against mech_krb5
 231 pics/pty_err.o: $(KRB5ETDIR)/pty_err.c
 232         $(COMPILE.c) -o $@ $(KRB5ETDIR)/pty_err.c
 233         $(POST_PROCESS_O)
 234 
 235 # we need this in libgss so we don't have to link against mech_krb5
 236 pics/ss_err.o: $(KRB5ETDIR)/ss_err.c
 237         $(COMPILE.c) -o $@ $(KRB5ETDIR)/ss_err.c
 238         $(POST_PROCESS_O)
 239 
 240 # gen_oids.c is kept in the kernel since the OIDs declared in them are
 241 # used by rpcsec module
 242 pics/gen_oids.o: $(SRC)/uts/common/gssapi/gen_oids.c
 243         $(COMPILE.c) -o $@ $(SRC)/uts/common/gssapi/gen_oids.c
 244         $(POST_PROCESS_O)       
 245 
 246 # include library targets
 247 include ../../Makefile.targ