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