1 # 2 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3 # Use is subject to license terms. 4 # 5 # Copyright (c) 2018, Joyent, Inc. 6 7 PROG= kadmind 8 MANIFEST= kadmin.xml 9 10 OBJS = kadm_rpc_svc.o server_stubs.o ovsec_kadmd.o misc.o server_glue_v1.o \ 11 ipropd_svc.o 12 13 DERIVED_OBJS= iprop_xdr.o 14 15 SRCS= $(OBJS:.o=.c) 16 SRCS+= $(DERIVED_OBJS:.o=.c) 17 18 # Definitions needed to rpcgen iprop-related files 19 ISRC= iprop.h iprop_xdr.c 20 KRB5IPROPDIR= $(SRC)/cmd/krb5/iprop 21 CMD= grep -v "usr/src/cmd/krb5/iprop" > $@ 22 23 CLOBBERFILES += $(TESTPROG) 24 25 include ../../../Makefile.cmd 26 include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5 27 28 POFILE = $(PROG).po 29 POFILES = generic.po 30 31 ROOTMANIFESTDIR= $(ROOTSVCNETWORKSECURITY) 32 33 DEFS = -DHAVE_LIBSOCKET=1 -DHAVE_LIBNSL=1 -DHAVE_COMPILE=1 -DHAVE_STEP=1 -DKRB5_KRB4_COMPAT 34 35 CPPFLAGS += -I. -I$(SRC)/uts/common/gssapi/mechs/krb5/include \ 36 -I$(SRC)/uts/common/gssapi \ 37 -I$(SRC)/lib/krb5 \ 38 -I$(SRC)/lib/krb5/kadm5 \ 39 -I$(SRC)/lib/krb5/kadm5/srv \ 40 -I$(SRC)/lib/gss_mechs/mech_krb5/include \ 41 -I$(KRB5IPROPDIR) \ 42 -I$(SRC)/uts/common/gssapi/include/ $(DEFS) 43 44 COPTFLAG += $(XESS) #-I$(KINCDIR) 45 46 CERRWARN += -_gcc=-Wno-implicit-function-declaration 47 CERRWARN += -_gcc=-Wno-unused-variable 48 CERRWARN += -_gcc=-Wno-parentheses 49 CERRWARN += -_gcc=-Wno-unused-function 50 51 # not linted 52 SMATCH=off 53 54 LDFLAGS += $(KRUNPATH) $(KERBRUNPATH) 55 LDLIBS += -lgss -L$(KRB5LIB) \ 56 -lmech_krb5 -lkadm5srv -lkdb -lnsl -lresolv -lbsm -lpam -lsocket 57 58 .KEEP_STATE: 59 60 all: $(PROG) 61 62 $(PROG): $(OBJS) $(DERIVED_OBJS) 63 $(LINK.c) $(OBJS) $(DERIVED_OBJS) -o $@ $(LDLIBS) 64 $(POST_PROCESS) 65 66 # Rules to rpcgen-erate derived files from the iprop.x spec file 67 iprop.h: $(KRB5IPROPDIR)/iprop.x 68 $(RM) $@ 69 $(RPCGEN) -h $(KRB5IPROPDIR)/iprop.x > $@ 70 71 iprop_xdr.c: iprop.h $(KRB5IPROPDIR)/iprop.x 72 $(RM) $@ 73 $(RPCGEN) -c $(KRB5IPROPDIR)/iprop.x | $(CMD) 74 75 # Explicitly state the dependancy on iprop.h 76 $(OBJS): iprop.h 77 78 $(KRB5LIBPROG):= FILEMODE = 0500 79 80 install: $(KRB5LIBPROG) $(ROOTSVCMETHOD) $(ROOTMANIFEST) 81 82 check: $(CHKMANIFEST) 83 84 clean: 85 $(RM) $(OBJS) $(DERIVED_OBJS) $(ISRC) 86 87 lint: lint_SRCS 88 89 include ../../../Makefile.targ 90 91 $(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) 92 $(RM) $@ 93 $(CAT) $(POFILES) > $@ 94 95 generic.po: FRC 96 $(RM) messages.po 97 $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]` 98 $(SED) "/^domain/d" messages.po > $@ 99 $(RM) messages.po 100 101 FRC: