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