xref: /illumos-gate/usr/src/cmd/krb5/kwarn/Makefile (revision 8226594fdd4479be135127f43632f1f995074654)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# Copyright 2020 Joyent, Inc.
27
28TESTPROG = kwarndtest
29
30PROG= ktkt_warnd
31MANIFEST=	ktkt_warn.xml
32
33KWARNDOBJS = kwarnd.o kwarnd_svc.o kwarnd_proc.o kwarnd_generic.o kwarnd_send.o
34KWARNTOBJS = kwarndtest.o
35
36G_OBJS   = kwarnd_xdr.o
37
38OBJS	= $(KWARNDOBJS) $(KWARNTOBJS) $(G_OBJS)
39SRCS	= $(OBJS:.o=.c)
40RSRC	= kwarnd_xdr.c kwarnd_svc.c kwarnd.h
41
42CLOBBERFILES += $(TESTPROG)
43
44include ../../Makefile.cmd
45include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
46
47ROOTMANIFESTDIR=	$(ROOTSVCNETWORKSECURITY)
48
49POFILE = $(PROG).po
50POFILES = generic.po
51
52CPPFLAGS +=	-D_REENTRANT
53
54CERRWARN +=	-_gcc=-Wno-unused-variable
55CERRWARN +=	-_gcc=-Wno-unused-function
56CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
57CERRWARN +=	-_gcc=-Wno-parentheses
58
59# not linted
60SMATCH=off
61
62CPPFLAGS += -I../../lib/gss_mechs/mech_krb5/include \
63                 -I$(SRC)/lib/gss_mechs/mech_krb5 \
64                 -I$(SRC)/lib/gss_mechs/mech_krb5/include \
65                 -I$(SRC)/uts/common/gssapi/mechs/krb5/include
66
67ktkt_warnd :=	MAPFILES =	$(MAPFILE.INT) $(MAPFILE.NGB)
68ktkt_warnd :=	LDFLAGS +=	$(KRUNPATH) $(MAPFILES:%=-Wl,-M%)
69ktkt_warnd :=	LDLIBS +=	-lnsl
70
71LDFLAGS +=	$(KRUNPATH)
72LDLIBS +=	$(KMECHLIB)
73
74.KEEP_STATE:
75
76all: $(PROG) $(TESTPROG)
77
78$(PROG):	$(G_OBJS) $(KWARNDOBJS) $$(MAPFILES)
79	$(LINK.c) $(KWARNDOBJS) $(G_OBJS) -o $@ $(LDLIBS)
80	$(POST_PROCESS)
81
82# the client entry points (kwarn_*_warning) are now avail in mech_krb5.so
83$(TESTPROG):    $(KWARNTOBJS)
84	$(LINK.c) $(KWARNTOBJS) -o $@ $(LDLIBS)
85	$(POST_PROCESS)
86
87#  Rules to generate derived rpcgen files from kwarnd.x spec file.
88
89kwarnd.h:        kwarnd.x
90	$(RM) $@
91	$(RPCGEN) -M -h kwarnd.x > $@
92
93kwarnd_svc.c:    kwarnd.x
94	$(RM) $@
95	$(RPCGEN) -M -m kwarnd.x > $@
96
97kwarnd_xdr.c:    kwarnd.x
98	$(RM) $@
99	$(RPCGEN) -M -c kwarnd.x > $@
100
101$(OBJS): kwarnd.h
102
103# note that nightly depends on having all of the derived
104# .c files built here on 'make install', even though this
105# module doesn't use all of those files.
106install: $(KRB5LIBPROG) $(RSRC) $(ROOTMANIFEST)
107
108check:	$(CHKMANIFEST)
109
110clean:
111	$(RM) $(OBJS) $(RSRC)
112
113include ../../Makefile.targ
114
115#additional dependencies
116
117$(LIBRARY) : $(OBJS)
118$(DYNLIB) : $(PICS)
119
120FRC:
121
122$(POFILE): $(DERIVED_FILES) .WAIT $(POFILES)
123	$(RM) $@
124	$(CAT) $(POFILES) > $@
125
126generic.po: FRC
127	$(RM) messages.po
128	$(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]`
129	$(SED) "/^domain/d" messages.po > $@
130	$(RM) messages.po
131