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