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 2008 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# Copyright (c) 2018, Joyent, Inc. 26 27LIBRARY= libldap.a 28VERS= .5 29 30# Definition of all the objects macros 31# The LDAP specific objects 32 33BEROBJS= bprint.o decode.o encode.o io.o 34 35LDAPOBJS= abandon.o add.o bind.o cache.o charray.o \ 36 charset.o compare.o compat.o control.o countvalues.o \ 37 delete.o disptmpl.o dsparse.o error.o extendop.o free.o freevalues.o \ 38 friendly.o getattr.o getdn.o getdxbyname.o getentry.o \ 39 getfilter.o getoption.o getvalues.o memcache.o message.o \ 40 modify.o open.o os-ip.o proxyauthctrl.o psearch.o referral.o \ 41 rename.o request.o reslist.o result.o saslbind.o sasl.o \ 42 sbind.o search.o setoption.o sort.o sortctrl.o srchpref.o \ 43 tmplout.o ufn.o unbind.o unescape.o url.o ldaputf8.o vlistctrl.o \ 44 cram_md5.o secutil.o spagectrl.o digest_md5.o 45 46SSLDAPOBJS= clientinit.o ldapsinit.o errormap.o 47 48PRLDAPOBJS= ldappr-dns.o ldappr-error.o ldappr-public.o \ 49 ldappr-io.o ldappr-threads.o 50 51UTILOBJS= log.o line64.o 52 53# Grouping it all together 54OBJECTS= $(BEROBJS) $(LDAPOBJS) $(SSLDAPOBJS) $(PRLDAPOBJS) \ 55 $(UTILOBJS) 56 57# include library definitions 58include ../../Makefile.lib 59 60NSS_LIBS= -lnspr4 -lplc4 -lnss3 -lssl3 61NSS_HDRS= $(ADJUNCT_PROTO)/usr/include/mps 62NSS_LDPATH= /usr/lib/mps 63NSS_LDPATH64= $(NSS_LDPATH)/64 64 65 66LDAP_FLAGS= -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS \ 67 -D_SOLARIS_SDK \ 68 -DUSE_WAITPID -DNEEDPROTOS \ 69 -DNET_SSL -DNO_LIBLCACHE -DLDAP_REFERRALS \ 70 -DNS_DOMESTIC -DLDAP_SSLIO_HOOKS -DSTR_TRANSLATION \ 71 -DLDAP_SASLIO_HOOKS 72 73 74# Include directories for all files 75COM_INC= -I$(SRC)/lib/libldap5/include/ldap \ 76 -I$(NSS_HDRS) 77 78SRCS= $(BEROBJS:%.o=../sources/ldap/ber/%.c) \ 79 $(LDAPOBJS:%.o=../sources/ldap/common/%.c) \ 80 $(SSLDAPOBJS:%.o=../sources/ldap/ssldap/%.c) \ 81 $(PRLDAPOBJS:%.o=../sources/ldap/prldap/%.c) \ 82 $(UTILOBJS:%.o=../sources/ldap/util/%.c) 83 84LIBS = $(DYNLIB) $(LINTLIB) 85DYNFLAGS += $(ZNODELETE) 86 87CPPFLAGS= $(COM_INC) $(CPPFLAGS.master) 88 89# definitions for lint 90 91$(LINTLIB):= SRCS=../sources/ldap/common/llib-lldap 92$(LINTLIB):= LINTFLAGS=-nvx 93$(LINTLIB):= TARGET_ARCH= 94 95LINTOUT= lint.out 96 97LINTSRC= $(LINTLIB:%.ln=%) 98ROOTLINTDIR= $(ROOTLIBDIR) 99ROOTLINT= $(LINTSRC:%=$(ROOTLINTDIR)/%) 100 101 102CLEANFILES += $(LINTOUT) $(LINTLIB) 103 104# Local Libldap definitions 105LOCFLAGS += $(XSTRCONST) -D_REENTRANT 106 107# Following values defined in Makefile.master are overwritten here. 108#sparc_C_PICFLAGS = $(sparc_C_BIGPICFLAGS) 109sparcv9_C_PICFLAGS = $(sparcv9_C_BIGPICFLAGS) 110#i386_C_PICFLAGS = $(i386_C_BIGPICFLAGS) 111#amd64_C_PICFLAGS = $(amd64_C_BIGPICFLAGS) 112 113CFLAGS += $(CCVERBOSE) $(LOCFLAGS) 114CFLAGS64 += $(LOCFLAGS) 115 116CERRWARN += -_gcc=-Wno-parentheses 117CERRWARN += $(CNOWARN_UNINIT) 118CERRWARN += -_gcc=-Wno-type-limits 119CERRWARN += -_gcc=-Wno-unused-function 120CERRWARN += -_gcc=-Wno-unused-variable 121CERRWARN += -_gcc=-Wno-unused-value 122CERRWARN += -_gcc=-Wno-address 123 124# not linted 125SMATCH=off 126 127LDLIBS += -lsasl -lsocket -lnsl -lmd -lc 128 129.KEEP_STATE: 130 131# include library targets 132include ../../Makefile.targ 133 134pics/%.o: ../sources/ldap/ber/%.c 135 $(COMPILE.c) $(LDAP_FLAGS) $(COM_INC) -o $@ $< 136 $(POST_PROCESS_O) 137 138pics/%.o: ../sources/ldap/common/%.c 139 $(COMPILE.c) $(LDAP_FLAGS) $(COM_INC) -o $@ $< 140 $(POST_PROCESS_O) 141 142pics/%.o: ../sources/ldap/ssldap/%.c 143 $(COMPILE.c) $(LDAP_FLAGS) $(COM_INC) -w -o $@ $< 144 $(POST_PROCESS_O) 145 146pics/%.o: ../sources/ldap/prldap/%.c 147 $(COMPILE.c) $(LDAP_FLAGS) $(COM_INC) -w -o $@ $< 148 $(POST_PROCESS_O) 149 150pics/%.o: ../sources/ldap/util/%.c 151 $(COMPILE.c) $(LDAP_FLAGS) $(COM_INC) -w -o $@ $< 152 $(POST_PROCESS_O) 153 154# install rule for lint library target 155$(ROOTLINTDIR)/%: ../sources/ldap/common/% 156 $(INS.file) 157