xref: /illumos-gate/usr/src/cmd/gss/gssd/Makefile (revision d5a816590ba1bb4affbf62f0113d75baf7f83177)
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# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# Copyright (c) 2018, Joyent, Inc.
26
27TESTPROG = gssdtest
28
29OUTPUT_OPTION = -I.
30
31PROG= gssd
32
33MANIFEST=	gss.xml
34
35GSSD_BASEOBJS = gssd.o gssd_proc.o gssd_generic.o gssd_getuid.o
36GSSC_BASEOBJS = gssdtest.o gssd_release_name_and_type.o gssd_clnt_stubs.o \
37		gssd_handle.o
38
39GD_OBJS	= gssd_svc.o
40GC_OBJS	= gssd_clnt.o
41G_OBJS	= gssd_xdr.o
42GSSDOBJS = $(GSSD_BASEOBJS) $(GD_OBJS) $(G_OBJS)
43GSSCOBJS = $(GSSC_BASEOBJS) $(GC_OBJS) $(G_OBJS)
44
45ROBJS	= $(GD_OBJS) $(GC_OBJS) $(G_OBJS)
46OBJS	= $(GSSD_BASEOBJS) $(GD_OBJS) $(GSSC_BASEOBJS) $(GC_OBJS) $(G_OBJS)
47SRCS	= $(OBJS:.o=.c)
48RSRC	= $(ROBJS:.o=.c)
49RSRC	+= gssd.h
50
51CLOBBERFILES += $(TESTPROG)
52
53include ../../Makefile.cmd
54
55ROOTMANIFESTDIR=	$(ROOTSVCNETWORKRPC)
56
57TEXT_DOMAIN = SUNW_OST_NETRPC
58POFILE = $(PROG).po
59POFILES = generic.po
60
61#
62# Override $ROOTLIB
63#
64ROOTLIB=	$(ROOT)/usr/lib/gss
65
66DIRS=	$(ROOTLIB)
67
68CPPFLAGS += -I$(SRC)/uts/common/gssapi/include
69
70CERRWARN += -_gcc=-Wno-unused-variable
71CERRWARN += -_gcc=-Wno-implicit-function-declaration
72CERRWARN += -_gcc=-Wno-parentheses
73CERRWARN += $(CNOWARN_UNINIT)
74
75# not linted
76SMATCH=off
77
78LDLIBS += -lgss -lnsl
79
80gssd :=	MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB)
81gssd :=	LDFLAGS += $(MAPFILES:%=-Wl,-M%)
82
83$(GPROGS) := CPPFLAGS += -DSYSV -DSunOS=50
84
85.KEEP_STATE:
86
87all: $(PROG) $(TESTPROG)
88
89$(ROOTLIB):
90	$(INS.dir)
91
92$(ROOTLIB)/%:	%
93	$(INS.file)
94
95gssd:	$(GSSDOBJS) $$(MAPFILES)
96	$(LINK.c) $(GSSDOBJS) -o $@ $(LDLIBS)
97	$(POST_PROCESS)
98
99gssdtest:	$(GSSCOBJS)
100	$(LINK.c) $(GSSCOBJS) -o $@ $(LDLIBS)
101	$(POST_PROCESS)
102
103GSSDX=	$(SRC)/uts/common/gssapi/gssd.x
104gssd.x:	$(GSSDX)
105	rm -f $@
106	cp $(GSSDX) $@
107
108#  Rules to generate derived rpcgen files from gssd.x spec file.
109
110# NOTE WELL: There is code in gssd that assumes gssd is NOT
111# multi-threaded.  Do NOT add -A to the rpcgen argument list in the
112# Makefile unless you also remove this assumption.
113
114gssd.h:        gssd.x
115	$(RM) $@
116	$(RPCGEN) -M -h gssd.x > $@
117
118gssd_clnt.c:   gssd.x
119	$(RM) $@
120	$(RPCGEN) -M -l gssd.x > $@
121
122gssd_svc.c:    gssd.x
123	$(RM) $@
124	$(RPCGEN) -M -m gssd.x > $@
125
126gssd_xdr.c:    gssd.x
127	$(RM) $@
128	$(RPCGEN) -M -c gssd.x > $@
129
130$(OBJS): gssd.h
131
132install: all $(DIRS) $(ROOTLIBPROG) $(ROOTMANIFEST)
133
134install_h:
135
136clean:
137	$(RM) $(OBJS) $(RSRC) gssd.x
138
139check:	$(CHKMANIFEST)
140
141include ../../Makefile.targ
142
143$(POFILE): $(DERIVED_FILES) .WAIT $(POFILES)
144	$(RM) $@
145	$(CAT) $(POFILES) > $@
146
147generic.po: FRC
148	$(RM) messages.po
149	$(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext *.[ch]`
150	$(SED) "/^domain/d" messages.po > $@
151	$(RM) messages.po
152
153FRC:
154
155