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