1# $OpenLDAP$
2## This work is part of OpenLDAP Software <http://www.openldap.org/>.
3##
4## Copyright 1998-2021 The OpenLDAP Foundation.
5## All rights reserved.
6##
7## Redistribution and use in source and binary forms, with or without
8## modification, are permitted only as authorized by the OpenLDAP
9## Public License.
10##
11## A copy of this license is available in the file LICENSE in the
12## top-level directory of the distribution or, alternatively, at
13##---------------------------------------------------------------------------
14#
15# Top-level Makefile template
16#
17
18PACKAGE= @PACKAGE@
19VERSION= @VERSION@
20RELEASEDATE= @OPENLDAP_RELEASE_DATE@
21
22@SET_MAKE@
23SHELL = /bin/sh
24
25top_builddir = @top_builddir@
26
27srcdir = @srcdir@
28top_srcdir = @top_srcdir@
29VPATH = @srcdir@
30prefix = @prefix@
31exec_prefix = @exec_prefix@
32ldap_subdir = @ldap_subdir@
33
34bindir = @bindir@
35datarootdir = @datarootdir@
36datadir = @datadir@$(ldap_subdir)
37includedir = @includedir@
38infodir = @infodir@
39libdir = @libdir@
40libexecdir = @libexecdir@
41localstatedir = @localstatedir@
42mandir = @mandir@
43moduledir = @libexecdir@$(ldap_subdir)
44sbindir = @sbindir@
45sharedstatedir = @sharedstatedir@
46sysconfdir = @sysconfdir@$(ldap_subdir)
47schemadir = $(sysconfdir)/schema
48systemdsystemunitdir = @systemdsystemunitdir@
49
50PLAT = @PLAT@
51EXEEXT = @EXEEXT@
52OBJEXT = @OBJEXT@
53
54BUILD_LIBS_DYNAMIC = @BUILD_LIBS_DYNAMIC@
55
56SHTOOL = $(top_srcdir)/build/shtool
57
58INSTALL = $(SHTOOL) install -c
59INSTALL_PROGRAM = $(INSTALL)
60INSTALL_DATA = $(INSTALL) -m 644
61INSTALL_SCRIPT = $(INSTALL)
62
63STRIP_OPTS = -s
64
65LINT = lint
665LINT = 5lint
67
68MKDEP = $(top_srcdir)/build/mkdep $(MKDEPFLAG) \
69	-d "$(srcdir)" -c "$(MKDEP_CC)" -m "$(MKDEP_CFLAGS)"
70MKDEP_CC	= @OL_MKDEP@
71MKDEP_CFLAGS = @OL_MKDEP_FLAGS@
72
73MKVERSION = $(top_srcdir)/build/mkversion -v "$(VERSION)"
74
75LIBTOOL = @LIBTOOL@
76LIBRELEASE = @OPENLDAP_LIBRELEASE@
77LIBVERSION = @OPENLDAP_LIBVERSION@
78LTVERSION = -release $(LIBRELEASE) -version-info $(LIBVERSION)
79
80# libtool --only flag for libraries: platform specific
81NT_LTONLY_LIB = # --only-$(BUILD_LIBS_DYNAMIC)
82LTONLY_LIB = $(@PLAT@_LTONLY_LIB)
83
84# libtool --only flag for modules: depends on linkage of module
85# The BUILD_MOD macro is defined in each backend Makefile.in file
86LTONLY_yes = --tag=disable-shared
87LTONLY_mod = --tag=disable-static
88LTONLY_MOD = $(LTONLY_$(BUILD_MOD))
89
90# platform-specific libtool flags
91NT_LTFLAGS_LIB = -no-undefined -avoid-version -rpath $(libdir)
92NT_LTFLAGS_MOD = -no-undefined -avoid-version -rpath $(moduledir)
93UNIX_LTFLAGS_LIB = $(LTVERSION) -rpath $(libdir)
94UNIX_LTFLAGS_MOD = $(LTVERSION) -rpath $(moduledir)
95
96# libtool flags
97LTFLAGS     = $(@PLAT@_LTFLAGS)
98LTFLAGS_LIB = $(@PLAT@_LTFLAGS_LIB)
99LTFLAGS_MOD = $(@PLAT@_LTFLAGS_MOD)
100
101# LIB_DEFS defined in liblber and libldap Makefile.in files.
102# MOD_DEFS defined in backend Makefile.in files.
103
104# platform-specific LINK_LIBS defined in various Makefile.in files.
105# LINK_LIBS referenced in library and module link commands.
106LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS)
107
108# compiler options for versioned library symbol support
109OL_VERSIONED_SYMBOLS = @OL_VERSIONED_SYMBOLS@
110
111LTSTATIC = @LTSTATIC@
112
113LTLINK   = $(LIBTOOL) --mode=link \
114	$(CC) $(LTSTATIC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS)
115
116LTCOMPILE_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=compile \
117	$(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c
118
119LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \
120	$(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB) $(SYMBOL_VERSION_FLAGS)
121
122LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \
123	$(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c
124
125LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
126	$(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
127
128LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) 
129LTFINISH = $(LIBTOOL) --mode=finish
130
131# Misc UNIX commands used in build environment
132AR = @AR@
133BASENAME = basename
134CAT = cat
135CHMOD = chmod
136DATE = date
137ECHO = $(SHTOOL) echo
138HOSTNAME = $(SHTOOL) echo -e "%h%d"
139LN = $(SHTOOL) mkln
140LN_H = $(LN)
141LN_S = $(LN) -s
142MAKEINFO = @MAKEINFO@
143MKDIR = $(SHTOOL) mkdir -p
144MV = $(SHTOOL) move
145PWD = pwd
146RANLIB = @RANLIB@
147RM = rm -f
148SED = sed
149SUBST = $(SHTOOL) subst
150
151# For manual pages
152# MANCOMPRESS=@MANCOMPRESS@
153# MANCOMPRESSSUFFIX=@MANCOMPRESSSUFFIX@
154MANCOMPRESS=$(CAT)
155MANCOMPRESSSUFFIX=
156
157SOELIM=soelim
158
159INCLUDEDIR= $(top_srcdir)/include
160LDAP_INCPATH= -I$(LDAP_INCDIR) -I$(INCLUDEDIR)
161LDAP_LIBDIR= $(top_builddir)/libraries
162
163CLIENT_LIBS = @CLIENT_LIBS@
164
165LUTIL_LIBS = @LUTIL_LIBS@
166LTHREAD_LIBS = @LTHREAD_LIBS@
167
168SLAPD_NDB_LIBS = @SLAPD_NDB_LIBS@
169WT_LIBS = @WT_LIBS@
170
171LEVENT_LIBS = @LEVENT_LIBS@
172
173LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
174LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la
175
176LDAP_LIBREWRITE_A = $(LDAP_LIBDIR)/librewrite/librewrite.a
177LDAP_LIBLUNICODE_A = $(LDAP_LIBDIR)/liblunicode/liblunicode.a
178LDAP_LIBLUTIL_A = $(LDAP_LIBDIR)/liblutil/liblutil.a
179
180LDAP_L = $(LDAP_LIBLUTIL_A) \
181	$(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
182SLAPD_L = $(LDAP_LIBLUNICODE_A) $(LDAP_LIBREWRITE_A) \
183	$(LDAP_LIBLUTIL_A) $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
184LLOADD_L = $(LDAP_LIBLUTIL_A) $(LDAP_LIBLDAP_LA) \
185	$(LDAP_LIBLBER_LA)
186
187WRAP_LIBS = @WRAP_LIBS@
188# AutoConfig generated 
189AC_CC	= @CC@
190AC_CFLAGS = @CFLAGS@
191AC_DEFS = @CPPFLAGS@ # @DEFS@
192AC_LDFLAGS = @LDFLAGS@
193AC_LIBS = @LIBS@
194
195SASL_LIBS = @SASL_LIBS@
196TLS_LIBS = @TLS_LIBS@
197AUTH_LIBS = @AUTH_LIBS@
198ARGON2_LIBS = @ARGON2_LIBS@
199SECURITY_LIBS = $(SASL_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
200SYSTEMD_LIBS = @SYSTEMD_LIBS@
201
202MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
203MODULES_LDFLAGS = @SLAPD_MODULES_LDFLAGS@
204MODULES_LIBS = @MODULES_LIBS@
205SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@
206
207SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@
208SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
209SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
210
211SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(SYSTEMD_LIBS)
212LLOADD_LIBS = @BALANCER_LIBS@ $(LEVENT_LIBS)
213
214# Our Defaults
215CC = $(AC_CC)
216DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES)
217CFLAGS = $(AC_CFLAGS) $(DEFS)
218LDFLAGS = $(LDAP_LIBPATH) $(AC_LDFLAGS) $(XLDFLAGS)
219LIBS = $(XLIBS) $(XXLIBS) $(AC_LIBS) $(XXXLIBS)
220
221LT_CFLAGS = $(AC_CFLAGS)
222LT_CPPFLAGS = $(DEFS)
223
224all:		all-common all-local FORCE
225install:	install-common install-local FORCE
226clean:		clean-common clean-local FORCE
227veryclean:	veryclean-common veryclean-local FORCE
228depend:		depend-common depend-local FORCE
229
230# empty common rules
231all-common:
232install-common:
233clean-common:
234veryclean-common:	clean-common FORCE
235depend-common:
236lint-common:
237lint5-common:
238
239# empty local rules
240all-local:
241install-local:
242clean-local:
243veryclean-local:	clean-local FORCE
244depend-local:
245lint-local:
246lint5-local:
247
248veryclean: FORCE
249	$(RM) Makefile
250	$(RM) -r .libs
251
252Makefile: Makefile.in $(top_srcdir)/build/top.mk
253
254pathtest:
255	$(SHTOOL) --version
256
257# empty rule for forcing rules
258FORCE:
259
260##---------------------------------------------------------------------------
261
262