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