|
root / base / usr / src / lib / krb5 / kdb / Makefile.com
Makefile.com Makefile 123 lines 3.3 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Copyright (c) 2018, Joyent, Inc.

LIBRARY= libkdb.a
VERS= .1

# kdb
KDBOBJS= \
	keytab.o \
	encrypt_key.o \
	decrypt_key.o \
	kdb_convert.o \
	kdb_cpw.o \
	kdb_default.o \
	kdb_log.o \
	kdb5.o

DERIVED_OBJS= \
	iprop_xdr.o

# Definitions needed to rpcgen iprop-related files
ISRCHDR= ../iprop.h
ISRCXDR= ../iprop_xdr.c
KRB5IPROPDIR=	$(SRC)/cmd/krb5/iprop
CMD= grep -v "usr/src/cmd/krb5/iprop" > $@

# libkdb5 needs to link against some files from kadm5
KADM5DIR=       $(SRC)/lib/krb5/kadm5
KADM5OBJS= alt_prof.o str_conv.o
KADM5SRCS= $(KADM5DIR)/$(KADM5OBJS:%.o=%.c)

OBJECTS= $(KDBOBJS) $(KADM5OBJS) $(DERIVED_OBJS)

# include library definitions
include ../../Makefile.lib

SRCS=		$(KDBOBJS:%.o=../%.c)
SRCS+=		$(DERIVED_OBJS:%.o=../%.c)
SRCS+=		$(KADM5SRCS)

LIBS=		$(DYNLIB)

include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5

POFILE = $(LIBRARY:%.a=%.po)
POFILES = generic.po

# override liblink
INS.liblink=	-$(RM) $@; $(SYMLINK) $(LIBLINKS)$(VERS) $@

CPPFLAGS +=	-DHAVE_CONFIG_H -DHAVE_BT_RSEQ \
		-I$(KRB5IPROPDIR) \
		-I$(SRC)/lib/krb5 \
		-I$(SRC)/lib/gss_mechs/mech_krb5/include \
		-I$(SRC)/lib/gss_mechs/mech_krb5/krb5/os \
		-I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5 \
		-I$(SRC)/uts/common/gssapi/include/ \
		-I$(SRC)/uts/common/gssapi/mechs/krb5/include

# Hammerhead: -I.. must be in CPPFLAGS (not CFLAGS) to survive Makefile.master.64 reset
CFLAGS +=	$(CCVERBOSE)
CPPFLAGS +=	-I..

CERRWARN +=	-Wno-unused-variable
CERRWARN +=	-Wno-unused-function
CERRWARN +=	-Wno-type-limits
CERRWARN +=	$(CNOWARN_UNINIT)
CERRWARN +=	-Wno-parentheses
CERRWARN +=	-Wno-pointer-to-int-cast
# Hammerhead: rpcgen-generated iprop_xdr.c has int64_t* vs longlong_t* mismatch
CERRWARN +=	-Wno-incompatible-pointer-types

SMOFF += indenting,all_func_returns,deref_check,signed

DYNFLAGS +=	$(KRUNPATH) $(KMECHLIB)
LDLIBS +=	-lc -lnsl

.KEEP_STATE:

all:	$(LIBS)

# Hammerhead: pre-generated (rpcgen + GNU cpp truncation bug)
# iprop.h and iprop_xdr.c are now committed source files.
# CLEANFILES +=	$(ISRCHDR) $(ISRCXDR)

# Hammerhead: GNU Make parallel builds need PICS to depend on generated files.
# $(LIBS): $(ISRCHDR) only ensures iprop.h before link, not before .o compilation.
$(PICS): $(ISRCHDR) $(ISRCXDR)

# include library targets
include ../../Makefile.targ

FRC:

generic.po: FRC
	$(RM) messages.po
	$(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext ../*.[ch]`
	$(SED) "/^domain/d" messages.po > $@
	$(RM) messages.po