# # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Copyright (c) 2018, Joyent, Inc. PROG1=kprop PROG2=kpropd PROG3=kprop_script PROG=$(PROG1) $(PROG2) $(PROG3) MANIFEST= krb5_prop.xml OBJS = \ kprop.o\ utils.o\ kpropd.o \ kpropd_rpc.o \ iprop_xdr.o COMMONOBJS= utils.o COMMONSRCS= utils.c CLIENTOBJS= kprop.o CLIENTSRCS= kprop.c SERVEROBJS= kpropd.o kpropd_rpc.o SERVERSRCS= kpropd.c kpropd_rpc.c DERIVED_OBJS= iprop_xdr.o DERIVED_SRCS= iprop_xdr.c SRCS = $(OBJS:.o=.c) # Definitions needed to rpcgen iprop-related files ISRC= iprop.h iprop_xdr.c KRB5IPROPDIR= $(SRC)/cmd/krb5/iprop CMD= grep -v "usr/src/cmd/krb5/iprop" > $@ DEFS = -DHAVE_LIBSOCKET=1 -DHAVE_LIBNSL=1 \ -DHAVE_COMPILE=1 \ -DHAVE_STEP=1 # Hammerhead: pre-generated files are permanent source, do not delete # CLOBBERFILES += $(RSRC) include ../../Makefile.cmd include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5 ROOTMANIFESTDIR= $(ROOTSVCNETWORKSECURITY) TEXT_DOMAIN = SUNW_OST_OSCMD POFILE = kprop.po POFILES = generic.po CFLAGS += $(CCOPTS) $(DEFS) $(LOCALINCLUDE) CPPFLAGS += -I. \ -I$(KRB5IPROPDIR) \ -I$(SRC)/lib/gss_mechs/mech_krb5/include \ -I$(SRC)/lib/gss_mechs/mech_krb5/include/krb5\ -I$(SRC)/lib/krb5 \ -I$(SRC)/lib/krb5/kadm5 \ -I$(SRC)/uts/common/gssapi/mechs/krb5/include CERRWARN += -Wno-unused-variable CERRWARN += -Wno-unused-function CERRWARN += -Wno-implicit-function-declaration CERRWARN += -Wno-parentheses CERRWARN += -Wno-unused-value CERRWARN += -Wno-address # Hammerhead: Suppress xdr_longlong_t type mismatch warnings (iprop_xdr.c) CERRWARN += -Wno-incompatible-pointer-types # not linted SMATCH=off LDFLAGS += $(KRUNPATH) $(KERBRUNPATH) # Hammerhead: GNU ld needs rpath-link for transitive deps (libdyn, libkdb) via libkadm5srv LDFLAGS += -Wl,-rpath-link,$(ROOT)/usr/lib/krb5 LDLIBS += -lmech_krb5 -lsocket $(PROG1) : LDLIBS += -L$(KRB5LIB) -lkadm5srv $(PROG2) : LDLIBS += -L$(KRB5LIB) -lnsl -lkdb -lkadm5clnt .KEEP_STATE: all: $(PROG) $(PROG1): $(CLIENTOBJS) $(COMMONOBJS) $(LINK.c) $(CLIENTOBJS) $(COMMONOBJS) -o $@ $(DEPLIBS) $(LDFLAGS) $(LDARGS) $(LDLIBS) $(POST_PROCESS) $(PROG2): $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) $(DEPLIBS) $(LINK.c) $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) -o $@ $(DEPLIBS) $(LDFLAGS) $(LDARGS) $(LDLIBS) $(POST_PROCESS) # Hammerhead: pre-generated (rpcgen + GNU cpp truncation bug) # iprop.h and iprop_xdr.c are now committed source files. # Make dependencies explicit so make sees it. $(KRB5LIB)/$(PROG3): $(PROG3) $(OBJS): iprop.h install: $(KRB5LIBPROG) $(ROOTSVCMETHOD) $(ROOTMANIFEST) check: $(CHKMANIFEST) install_h: clean: $(RM) $(CLIENTOBJS) $(SERVEROBJS) $(DERIVED_OBJS) $(COMMONOBJS) $(PROG) @# Hammerhead: do not delete pre-generated $(ISRC) include ../../Makefile.targ $(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) $(RM) $@ $(CAT) $(POFILES) > $@ generic.po: FRC $(RM) messages.po $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]` $(SED) "/^domain/d" messages.po > $@ $(RM) messages.po FRC: