1c5c4113dSnw# 2c5c4113dSnw# CDDL HEADER START 3c5c4113dSnw# 4c5c4113dSnw# The contents of this file are subject to the terms of the 5c5c4113dSnw# Common Development and Distribution License (the "License"). 6c5c4113dSnw# You may not use this file except in compliance with the License. 7c5c4113dSnw# 8c5c4113dSnw# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9c5c4113dSnw# or http://www.opensolaris.org/os/licensing. 10c5c4113dSnw# See the License for the specific language governing permissions 11c5c4113dSnw# and limitations under the License. 12c5c4113dSnw# 13c5c4113dSnw# When distributing Covered Code, include this CDDL HEADER in each 14c5c4113dSnw# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15c5c4113dSnw# If applicable, add the following below this CDDL HEADER, with the 16c5c4113dSnw# fields enclosed by brackets "[]" replaced with your own identifying 17c5c4113dSnw# information: Portions Copyright [yyyy] [name of copyright owner] 18c5c4113dSnw# 19c5c4113dSnw# CDDL HEADER END 20c5c4113dSnw# 21c5c4113dSnw# 22148c5f43SAlan Wright# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 23b3700b07SGordon Ross# Copyright 2014 Nexenta Systems, Inc. All rights reserved. 24c5c4113dSnw# 255661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc. 26*3cd6e9e1SMatt Barden# Copyright 2022-2023 RackTop Systems, Inc. 27c5c4113dSnw 28c5c4113dSnwPROG = idmapd 29c5c4113dSnwMANIFEST = idmap.xml 301fcced4cSJordan BrownSERVEROBJS = \ 31b3700b07SGordon Ross adspriv_impl.o \ 321fcced4cSJordan Brown directory_provider_builtin.o \ 331fcced4cSJordan Brown directory_provider_nsswitch.o \ 341fcced4cSJordan Brown directory_provider_ad.o \ 351fcced4cSJordan Brown directory_server.o \ 361fcced4cSJordan Brown adutils.o \ 371fcced4cSJordan Brown dbutils.o \ 381fcced4cSJordan Brown idmap_config.o \ 391fcced4cSJordan Brown idmapd.o \ 401fcced4cSJordan Brown init.o \ 41cb174861Sjoyce mcintosh idmap_lsa.o \ 42b3700b07SGordon Ross krb5_lookup.o \ 431fcced4cSJordan Brown nldaputils.o \ 441fcced4cSJordan Brown server.o \ 451fcced4cSJordan Brown wksids.o 461fcced4cSJordan Brown 47b3700b07SGordon RossGENOBJS = \ 48b3700b07SGordon Ross adspriv_srv.o \ 49b3700b07SGordon Ross rpc_svc.o 50b3700b07SGordon Ross 51c5c4113dSnwSERVERSRCS = $(SERVEROBJS:%.o=%.c) 5285f4cb87SRichard LoweGENSRCS = $(GENOBJS:%.o=%.c) 53b3700b07SGordon RossOBJS = $(SERVEROBJS) $(GENOBJS) 54c5c4113dSnwSRCS = $(SERVERSRCS) 55c5c4113dSnwPOFILES = $(OBJS:%.o=%.po) 56c5c4113dSnw 57c5c4113dSnwall := TARGET = all 58c5c4113dSnwinstall := TARGET = install 59c5c4113dSnwclean := TARGET = clean 60c5c4113dSnwclobber := TARGET = clobber 61c5c4113dSnw 62c5c4113dSnwinclude ../../Makefile.cmd 63e3d9e7f3SGordon Rossinclude ../../Makefile.ctf 64c5c4113dSnw 657014882cSRichard LoweCERRWARN += -_gcc=-Wno-type-limits 667014882cSRichard LoweCERRWARN += -_gcc=-Wno-switch 67d3b5f563SJohn LevonCERRWARN += $(CNOWARN_UNINIT) 687014882cSRichard Lowe 695661bb76SJohn Levon# not linted 705661bb76SJohn LevonSMATCH=off 715661bb76SJohn Levon 721fcced4cSJordan BrownTEXT_DOMAIN = SUNW_OST_OSLIB 731fcced4cSJordan BrownXGETTEXT = $(GNUXGETTEXT) 741fcced4cSJordan BrownXGETFLAGS = --foreign-user --strict -n -E --width=72 \ 751fcced4cSJordan Brown --omit-header --keyword=directoryError:2 \ 761fcced4cSJordan Brown --language=C --force-po 771fcced4cSJordan Brown 78bd0ce624SYuri PankovCSTD = $(CSTD_GNU99) 79c5c4113dSnwPOFILE = $(PROG)_all.po 80c5c4113dSnw 811fcced4cSJordan BrownRPC_MSGOUT_OPT = -DRPC_MSGOUT=idmap_rpc_msgout 821fcced4cSJordan Brown 83c5c4113dSnwROOTMANIFESTDIR = $(ROOTSVCSYSTEM) 84c5c4113dSnw$(ROOTMANIFEST) := FILEMODE= 444 85b3700b07SGordon RossRPCSVC= ../../../uts/common/rpcsvc 86b3700b07SGordon RossADS_CMN=../../../lib/libads/common 87c5c4113dSnw 88b3700b07SGordon RossINCS += -I. -I../../../lib/libidmap/common \ 89b3700b07SGordon Ross -I../../../lib/libsldap/common \ 90148c5f43SAlan Wright -I../../../lib/libadutils/common \ 91b3700b07SGordon Ross -I $(ADS_CMN) \ 92148c5f43SAlan Wright -I../../../lib/smbsrv/libsmb/common 93c5c4113dSnw 94b3700b07SGordon Ross# Should not have to do this, but the Kerberos includes are a mess. 95b3700b07SGordon RossINCS += -I $(ROOT)/usr/include/kerberosv5 96b3700b07SGordon Ross 97c5c4113dSnw$(OBJS) := CPPFLAGS += $(INCS) -D_REENTRANT 98c5c4113dSnw$(POFILE) := CPPFLAGS += $(INCS) 99c5c4113dSnw 1007014882cSRichard LoweCFLAGS += $(CCVERBOSE) 101*3cd6e9e1SMatt Barden$(NOT_RELEASE_BUILD)CPPFLAGS += -DIDMAPD_DEBUG 102*3cd6e9e1SMatt Barden 10391d7f85eSGordon RossLDLIBS += \ 10491d7f85eSGordon Ross -lsqlite-sys \ 10591d7f85eSGordon Ross -lsecdb \ 1061fcced4cSJordan Brown -lsocket \ 1071fcced4cSJordan Brown -lnsl \ 1081fcced4cSJordan Brown -lidmap \ 1091fcced4cSJordan Brown -lscf \ 1101fcced4cSJordan Brown -lsldap \ 1111fcced4cSJordan Brown -lldap \ 1121fcced4cSJordan Brown -luuid \ 1131fcced4cSJordan Brown -ladutils \ 114b3700b07SGordon Ross -lads \ 115148c5f43SAlan Wright -lumem \ 116148c5f43SAlan Wright -lnvpair \ 117cb174861Sjoyce mcintosh -luutil \ 118148c5f43SAlan Wright -L $(ROOT)/usr/lib/smbsrv \ 119148c5f43SAlan Wright -lsmb 1201fcced4cSJordan Brown 1211fcced4cSJordan Brownrpc_svc.o := CFLAGS += $(RPC_MSGOUT_OPT) 122c5c4113dSnw 123*3cd6e9e1SMatt BardenLDFLAGS += -R /usr/lib/smbsrv 124c5c4113dSnw 125c5c4113dSnwDIRMODE = 0755 126c5c4113dSnwFILEMODE = 0555 127c5c4113dSnw 128c5c4113dSnw.KEEP_STATE: 129c5c4113dSnw 130c5c4113dSnw.PARALLEL: $(OBJS) 131c5c4113dSnw 132c5c4113dSnwall: $(PROG) 133c5c4113dSnw 134*3cd6e9e1SMatt Barden$(PROG): $(OBJS) 13591d7f85eSGordon Ross $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 136c5c4113dSnw $(POST_PROCESS) 137c5c4113dSnw 138c5c4113dSnw$(POFILE): $(POFILES) 139c5c4113dSnw $(RM) $(POFILE) 140c5c4113dSnw cat $(POFILES) > $(POFILE) 141c5c4113dSnw 142c5c4113dSnwinstall: all $(ROOTLIBPROG) $(ROOTMANIFEST) 143c5c4113dSnw 144c5c4113dSnwcheck: $(CHKMANIFEST) 145c5c4113dSnw 146c5c4113dSnwclean: 147b3700b07SGordon Ross $(RM) $(OBJS) $(GENSRCS) 148c5c4113dSnw 149b3700b07SGordon RossRPCGENFLAGS = -CMN 150c5c4113dSnw 151b3700b07SGordon Rossadspriv_srv.o : adspriv_srv.c 152c5c4113dSnw 15385f4cb87SRichard Loweadspriv_srv.c: 154b3700b07SGordon Ross $(RPCGEN) $(RPCGENFLAGS) -m $(ADS_CMN)/ads_priv.x > $@ 155b3700b07SGordon Ross 156b3700b07SGordon Rossrpc_svc.o : rpc_svc.c 157b3700b07SGordon Ross 158b3700b07SGordon Rossrpc_svc.c : $(RPCSVC)/idmap_prot.x 159b3700b07SGordon Ross $(RPCGEN) $(RPCGENFLAGS) -m $(RPCSVC)/idmap_prot.x > $@ 160b3700b07SGordon Ross 161b3700b07SGordon Rossinclude ../../Makefile.targ 162