|
root / base / usr / src / cmd / krb5 / slave / Makefile
Makefile Makefile 121 lines 3.0 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#
# 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: