1# 2# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3# Use is subject to license terms. 4# 5# Copyright (c) 2018, Joyent, Inc. 6 7PROG1=kprop 8PROG2=kpropd 9PROG3=kprop_script 10PROG=$(PROG1) $(PROG2) $(PROG3) 11MANIFEST= krb5_prop.xml 12 13OBJS = \ 14 kprop.o\ 15 utils.o\ 16 kpropd.o \ 17 kpropd_rpc.o \ 18 iprop_xdr.o 19 20COMMONOBJS= utils.o 21COMMONSRCS= utils.c 22CLIENTOBJS= kprop.o 23CLIENTSRCS= kprop.c 24SERVEROBJS= kpropd.o kpropd_rpc.o 25SERVERSRCS= kpropd.c kpropd_rpc.c 26DERIVED_OBJS= iprop_xdr.o 27DERIVED_SRCS= iprop_xdr.c 28SRCS = $(OBJS:.o=.c) 29 30# Definitions needed to rpcgen iprop-related files 31ISRC= iprop.h iprop_xdr.c 32KRB5IPROPDIR= $(SRC)/cmd/krb5/iprop 33CMD= grep -v "usr/src/cmd/krb5/iprop" > $@ 34 35DEFS = -DHAVE_LIBSOCKET=1 -DHAVE_LIBNSL=1 \ 36 -DHAVE_COMPILE=1 \ 37 -DHAVE_STEP=1 38 39CLOBBERFILES += $(RSRC) 40 41include ../../Makefile.cmd 42include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5 43 44ROOTMANIFESTDIR= $(ROOTSVCNETWORKSECURITY) 45 46TEXT_DOMAIN = SUNW_OST_OSCMD 47POFILE = kprop.po 48POFILES = generic.po 49 50CFLAGS += $(XESS) $(CCOPTS) $(DEFS) $(LOCALINCLUDE) 51CPPFLAGS += -I. \ 52 -I$(KRB5IPROPDIR) \ 53 -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 54 -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5\ 55 -I$(SRC)/lib/krb5 \ 56 -I$(SRC)/lib/krb5/kadm5 \ 57 -I$(SRC)/uts/common/gssapi/mechs/krb5/include 58 59CERRWARN += -_gcc=-Wno-unused-variable 60CERRWARN += -_gcc=-Wno-unused-function 61CERRWARN += -_gcc=-Wno-implicit-function-declaration 62CERRWARN += -_gcc=-Wno-parentheses 63CERRWARN += -_gcc=-Wno-uninitialized 64CERRWARN += -_gcc=-Wno-unused-value 65CERRWARN += -_gcc=-Wno-address 66 67# not linted 68SMATCH=off 69 70LDFLAGS += $(KRUNPATH) $(KERBRUNPATH) 71LDLIBS += -lmech_krb5 -lsocket 72$(PROG1) := LDLIBS += -L$(KRB5LIB) -lkadm5srv 73$(PROG2) := LDLIBS += -L$(KRB5LIB) -lnsl -lkdb -lkadm5clnt 74 75.KEEP_STATE: 76 77all: $(PROG) 78 79$(PROG1): $(CLIENTOBJS) $(COMMONOBJS) 80 $(LINK.c) $(CLIENTOBJS) $(COMMONOBJS) -o $@ $(DEPLIBS) $(LDFLAGS) $(LDARGS) $(LDLIBS) 81 $(POST_PROCESS) 82 83$(PROG2): $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) $(DEPLIBS) 84 $(LINK.c) $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) -o $@ $(DEPLIBS) $(LDFLAGS) $(LDARGS) $(LDLIBS) 85 $(POST_PROCESS) 86 87# Rules to rpcgen-erate derived files from the iprop.x spec file 88iprop.h: $(KRB5IPROPDIR)/iprop.x 89 $(RM) $@ 90 $(RPCGEN) -h $(KRB5IPROPDIR)/iprop.x > $@ 91 92iprop_xdr.c: iprop.h $(KRB5IPROPDIR)/iprop.x 93 $(RM) $@ 94 $(RPCGEN) -c $(KRB5IPROPDIR)/iprop.x | $(CMD) 95 96# Make dependencies explicit so make sees it. 97$(KRB5LIB)/$(PROG3): $(PROG3) 98$(OBJS): iprop.h 99 100install: $(KRB5LIBPROG) $(ROOTSVCMETHOD) $(ROOTMANIFEST) 101 102check: $(CHKMANIFEST) 103 104install_h: 105clean: 106 $(RM) $(CLIENTOBJS) $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) $(PROG) $(ISRC) 107 108lint: 109 $(LINT.c) $(CLIENTSRCS) $(COMMONSRCS) $(LDLIBS) 110 $(LINT.c) $(SERVERSRCS) $(DERIVED_SRCS) $(COMMONSRCS) $(LDLIBS) 111 112include ../../Makefile.targ 113 114$(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) 115 $(RM) $@ 116 $(CAT) $(POFILES) > $@ 117 118generic.po: FRC 119 $(RM) messages.po 120 $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]` 121 $(SED) "/^domain/d" messages.po > $@ 122 $(RM) messages.po 123 124FRC: 125