xref: /illumos-gate/usr/src/cmd/idmap/idmapd/Makefile (revision 85f4cb87104c72587029a6e0f1663332c85ba118)
1c5c4113dSnw141292#
2c5c4113dSnw141292# CDDL HEADER START
3c5c4113dSnw141292#
4c5c4113dSnw141292# The contents of this file are subject to the terms of the
5c5c4113dSnw141292# Common Development and Distribution License (the "License").
6c5c4113dSnw141292# You may not use this file except in compliance with the License.
7c5c4113dSnw141292#
8c5c4113dSnw141292# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9c5c4113dSnw141292# or http://www.opensolaris.org/os/licensing.
10c5c4113dSnw141292# See the License for the specific language governing permissions
11c5c4113dSnw141292# and limitations under the License.
12c5c4113dSnw141292#
13c5c4113dSnw141292# When distributing Covered Code, include this CDDL HEADER in each
14c5c4113dSnw141292# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15c5c4113dSnw141292# If applicable, add the following below this CDDL HEADER, with the
16c5c4113dSnw141292# fields enclosed by brackets "[]" replaced with your own identifying
17c5c4113dSnw141292# information: Portions Copyright [yyyy] [name of copyright owner]
18c5c4113dSnw141292#
19c5c4113dSnw141292# CDDL HEADER END
20c5c4113dSnw141292#
21c5c4113dSnw141292#
22148c5f43SAlan Wright# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23b3700b07SGordon Ross# Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
24c5c4113dSnw141292#
255661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc.
26c5c4113dSnw141292
27c5c4113dSnw141292PROG =		idmapd
28c5c4113dSnw141292MANIFEST =	idmap.xml
291fcced4cSJordan BrownSERVEROBJS =				\
30b3700b07SGordon Ross	adspriv_impl.o			\
311fcced4cSJordan Brown	directory_provider_builtin.o	\
321fcced4cSJordan Brown	directory_provider_nsswitch.o	\
331fcced4cSJordan Brown	directory_provider_ad.o		\
341fcced4cSJordan Brown	directory_server.o		\
351fcced4cSJordan Brown	adutils.o			\
361fcced4cSJordan Brown	dbutils.o			\
371fcced4cSJordan Brown	idmap_config.o			\
381fcced4cSJordan Brown	idmapd.o			\
391fcced4cSJordan Brown	init.o				\
40148c5f43SAlan Wright	idmap_lsa.o			\
41b3700b07SGordon Ross	krb5_lookup.o			\
421fcced4cSJordan Brown	nldaputils.o			\
431fcced4cSJordan Brown	server.o			\
441fcced4cSJordan Brown	wksids.o
451fcced4cSJordan Brown
46b3700b07SGordon RossGENOBJS =				\
47b3700b07SGordon Ross	adspriv_srv.o			\
48b3700b07SGordon Ross	rpc_svc.o
49b3700b07SGordon Ross
50c5c4113dSnw141292SERVERSRCS =	$(SERVEROBJS:%.o=%.c)
51b3700b07SGordon RossGENSRCS =	$(GENOBJS:%.o=%.c)
52b3700b07SGordon RossOBJS =		$(SERVEROBJS) $(GENOBJS)
53c5c4113dSnw141292SRCS =		$(SERVERSRCS)
54c5c4113dSnw141292POFILES =	$(OBJS:%.o=%.po)
55c5c4113dSnw141292
56c5c4113dSnw141292all :=		TARGET = all
57c5c4113dSnw141292install :=	TARGET = install
58c5c4113dSnw141292clean :=	TARGET = clean
59c5c4113dSnw141292clobber :=	TARGET = clobber
60c5c4113dSnw141292
61c5c4113dSnw141292include ../../Makefile.cmd
62c5c4113dSnw141292
637014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-type-limits
647014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-switch
65d3b5f563SJohn LevonCERRWARN +=	$(CNOWARN_UNINIT)
667014882cSRichard Lowe
675661bb76SJohn Levon# not linted
685661bb76SJohn LevonSMATCH=off
695661bb76SJohn Levon
701fcced4cSJordan BrownTEXT_DOMAIN =	SUNW_OST_OSLIB
711fcced4cSJordan BrownXGETTEXT =	$(GNUXGETTEXT)
721fcced4cSJordan BrownXGETFLAGS =	--foreign-user --strict -n -E --width=72 \
731fcced4cSJordan Brown		--omit-header --keyword=directoryError:2 \
741fcced4cSJordan Brown		--language=C --force-po
751fcced4cSJordan Brown
76bd0ce624SYuri PankovCSTD = $(CSTD_GNU99)
77c5c4113dSnw141292POFILE =	$(PROG)_all.po
78c5c4113dSnw141292
791fcced4cSJordan BrownRPC_MSGOUT_OPT = -DRPC_MSGOUT=idmap_rpc_msgout
801fcced4cSJordan Brown
81c5c4113dSnw141292ROOTMANIFESTDIR = $(ROOTSVCSYSTEM)
82c5c4113dSnw141292$(ROOTMANIFEST) := FILEMODE= 444
83b3700b07SGordon RossRPCSVC= ../../../uts/common/rpcsvc
84b3700b07SGordon RossADS_CMN=../../../lib/libads/common
85c5c4113dSnw141292
869b214d32SJordan BrownINCS += -I. -I../../../lib/libidmap/common \
872b4a7802SBaban Kenkre	 -I../../../lib/libsldap/common \
88148c5f43SAlan Wright	 -I../../../lib/libadutils/common \
89b3700b07SGordon Ross	 -I $(ADS_CMN) \
90148c5f43SAlan Wright	 -I../../../lib/smbsrv/libsmb/common
91c5c4113dSnw141292
92b3700b07SGordon Ross# Should not have to do this, but the Kerberos includes are a mess.
93b3700b07SGordon RossINCS += -I $(ROOT)/usr/include/kerberosv5
94b3700b07SGordon Ross
95c5c4113dSnw141292$(OBJS) := CPPFLAGS += $(INCS) -D_REENTRANT
96c5c4113dSnw141292$(POFILE) := CPPFLAGS += $(INCS)
97c5c4113dSnw141292
987014882cSRichard LoweCFLAGS += $(CCVERBOSE)
9991d7f85eSGordon RossLDLIBS += \
10091d7f85eSGordon Ross	-lsqlite-sys \
10191d7f85eSGordon Ross	-lsecdb \
1021fcced4cSJordan Brown	-lsocket \
1031fcced4cSJordan Brown	-lnsl \
1041fcced4cSJordan Brown	-lidmap \
1051fcced4cSJordan Brown	-lscf \
1061fcced4cSJordan Brown	-lsldap \
1071fcced4cSJordan Brown	-lldap \
1081fcced4cSJordan Brown	-luuid \
1091fcced4cSJordan Brown	-ladutils \
110b3700b07SGordon Ross	-lads \
111148c5f43SAlan Wright	-lumem \
112148c5f43SAlan Wright	-lnvpair \
113cb174861Sjoyce mcintosh	-luutil \
114148c5f43SAlan Wright	-L $(ROOT)/usr/lib/smbsrv \
115148c5f43SAlan Wright	-lsmb
1161fcced4cSJordan Brown
1171fcced4cSJordan Brownrpc_svc.o := CFLAGS += $(RPC_MSGOUT_OPT)
118c5c4113dSnw141292
119c5c4113dSnw141292$(PROG) := MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB)
120*85f4cb87SRichard Lowe$(PROG) := LDFLAGS += $(MAPFILES:%=-Wl,-M%) \
121148c5f43SAlan Wright	-R /usr/lib/smbsrv
122c5c4113dSnw141292
123c5c4113dSnw141292DIRMODE = 0755
124c5c4113dSnw141292FILEMODE = 0555
125c5c4113dSnw141292
126c5c4113dSnw141292.KEEP_STATE:
127c5c4113dSnw141292
128c5c4113dSnw141292.PARALLEL: $(OBJS)
129c5c4113dSnw141292
130c5c4113dSnw141292all: $(PROG)
131c5c4113dSnw141292
1329b214d32SJordan Brown$(PROG): $(OBJS) $$(MAPFILES)
13391d7f85eSGordon Ross	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
134c5c4113dSnw141292	$(POST_PROCESS)
135c5c4113dSnw141292
136c5c4113dSnw141292$(POFILE): $(POFILES)
137c5c4113dSnw141292	$(RM) $(POFILE)
138c5c4113dSnw141292	cat $(POFILES) > $(POFILE)
139c5c4113dSnw141292
140c5c4113dSnw141292install: all $(ROOTLIBPROG) $(ROOTMANIFEST)
141c5c4113dSnw141292
142c5c4113dSnw141292check: $(CHKMANIFEST)
143c5c4113dSnw141292
144c5c4113dSnw141292clean:
145b3700b07SGordon Ross	$(RM) $(OBJS) $(GENSRCS)
146c5c4113dSnw141292
147b3700b07SGordon RossRPCGENFLAGS = -CMN
148b3700b07SGordon Ross
149b3700b07SGordon Rossadspriv_srv.o : adspriv_srv.c
150b3700b07SGordon Ross
151b3700b07SGordon Rossadspriv_srv.c:
152b3700b07SGordon Ross	$(RPCGEN) $(RPCGENFLAGS) -m $(ADS_CMN)/ads_priv.x > $@
153b3700b07SGordon Ross
154b3700b07SGordon Rossrpc_svc.o : rpc_svc.c
155b3700b07SGordon Ross
156b3700b07SGordon Rossrpc_svc.c : $(RPCSVC)/idmap_prot.x
157b3700b07SGordon Ross	$(RPCGEN) $(RPCGENFLAGS) -m $(RPCSVC)/idmap_prot.x > $@
158b3700b07SGordon Ross
159c5c4113dSnw141292include ../../Makefile.targ
160