xref: /illumos-gate/usr/src/cmd/keyserv/Makefile (revision f5c2e7ea56aaa46a9976476fb0cb1f02b9426f07)
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
26SBINPROG = keyserv newkey
27BINPROG	= keylogout keylogin domainname chkey
28
29MANIFEST= keyserv.xml
30
31PROG= $(SBINPROG) $(BINPROG)
32
33HDRS= key_prot.h
34
35DEFAULTFILES = keyserv.dfl
36
37KEYSERVOBJS = keyserv.o
38KEYLOGOUTOBJS = keylogout.o
39KEYLOGINOBJS = keylogin.o
40CHKEYOBJS = chkey.o
41NEWKEYOBJS = newkey.o
42UPDATEOBJS = update.o
43
44DOMAINNAMEOBJS = domainname.o
45K_OBJS = setkey.o detach.o key_generic.o keyserv_cache.o
46CHANGE_OBJS  = update.o chkey_common.o
47OUTSIDE_UTIL_OBJS = selfcheck.o
48
49OBJS	= $(KEYSERVOBJS) $(KEYLOGOUTOBJS) $(KEYLOGINOBJS) $(CHKEYOBJS) \
50	$(NEWKEYOBJS) $(UPDATEOBJS) $(DOMAINNAMEOBJS) \
51	$(K_OBJS)  $(CHANGE_OBJS)
52SRCS	= $(OBJS:.o=.c)
53
54SED=	sed
55
56include ../Makefile.cmd
57
58IBINPROG=		$(BINPROG:%=$(ROOTBIN)/%)
59ISBINPROG=		$(SBINPROG:%=$(ROOTUSRSBIN)/%)
60
61ROOTMANIFESTDIR=	$(ROOTSVCNETWORKRPC)
62
63$(ROOTBIN)/chkey :=				FILEMODE=	4555
64
65$(ROOTKEYSERVDFLT) :=				FILEMODE=	444
66
67CPPFLAGS += -I. -I$(SRC)/lib/libnsl/include -I$(SRC)/lib/libsldap/common \
68		-D_REENTRANT
69
70CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
71CERRWARN +=	-_gcc=-Wno-parentheses
72CERRWARN +=	-_gcc=-Wno-uninitialized
73CERRWARN +=	-_gcc=-Wno-unused-variable
74CERRWARN +=	-_gcc=-Wno-address
75CERRWARN +=	-_gcc=-Wno-unused-function
76
77LDLIBS +=	-lnsl
78chkey :=	LDLIBS += -lsldap
79keyserv :=	LDLIBS += -lmp
80newkey  :=	LDLIBS += -lsldap -lsocket
81
82.KEEP_STATE:
83
84all: $(PROG)
85
86keyserv: $(K_OBJS)  $(KEYSERVOBJS)
87	$(LINK.c) $(K_OBJS)  $(KEYSERVOBJS) -o $@ $(LDLIBS)
88	$(POST_PROCESS)
89
90keylogout: $(KEYLOGOUTOBJS)
91	$(LINK.c) $(KEYLOGOUTOBJS) -o $@ $(LDLIBS)
92	$(POST_PROCESS)
93
94keylogin: $(KEYLOGINOBJS)
95	$(LINK.c) $(KEYLOGINOBJS) -o $@ $(LDLIBS)
96	$(POST_PROCESS)
97
98chkey: $(CHKEYOBJS) $(CHANGE_OBJS)
99	$(LINK.c) $(CHANGE_OBJS) $(CHKEYOBJS) -o $@ $(LDLIBS)
100	$(POST_PROCESS)
101
102newkey:$(CHANGE_OBJS)  $(NEWKEYOBJS) $(OUTSIDE_UTIL_OBJS)
103	$(LINK.c) $(CHANGE_OBJS)  $(NEWKEYOBJS) $(OUTSIDE_UTIL_OBJS) \
104	-o $@ $(LDLIBS)
105	$(POST_PROCESS)
106
107update: $(UPDATEOBJS)
108	$(LINK.c)  $(UPDATEOBJS) -o $@ $(LDLIBS)
109	$(POST_PROCESS)
110
111domainname: $(DOMAINNAMEOBJS)
112	$(LINK.c) $(DOMAINNAMEOBJS) -o $@ $(LDLIBS)
113	$(POST_PROCESS)
114
115selfcheck.o: ../fs.d/nfs/lib/selfcheck.c
116	$(COMPILE.c) ../fs.d/nfs/lib/selfcheck.c
117
118install: all $(DIRS) $(IBINPROG) $(ISBINPROG) $(ROOTETCDEFAULTFILES) \
119	$(ROOTMANIFEST)
120
121clean:
122	$(RM) $(OBJS)
123
124lint: lint_SRCS
125
126check:	$(CHKMANIFEST)
127
128key_prot.h : $(ROOT)/usr/include/rpcsvc/key_prot.x
129	$(RPCGEN) -h $(ROOT)/usr/include/rpcsvc/key_prot.x > key_prot.h
130
131include ../Makefile.targ
132