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