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