xref: /netbsd-src/external/bsd/openldap/dist/build/top.mk (revision d11b170b9000ada93db553723522a63d5deac310)
1# $OpenLDAP$
2## This work is part of OpenLDAP Software <http://www.openldap.org/>.
3##
4## Copyright 1998-2014 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
48
49PLAT = @PLAT@
50EXEEXT = @EXEEXT@
51OBJEXT = @OBJEXT@
52
53BUILD_LIBS_DYNAMIC = @BUILD_LIBS_DYNAMIC@
54
55SHTOOL = $(top_srcdir)/build/shtool
56
57INSTALL = $(SHTOOL) install -c
58INSTALL_PROGRAM = $(INSTALL)
59INSTALL_DATA = $(INSTALL) -m 644
60INSTALL_SCRIPT = $(INSTALL)
61
62STRIP = -s
63
64LINT = lint
655LINT = 5lint
66
67MKDEP = $(top_srcdir)/build/mkdep $(MKDEPFLAG) \
68	-d "$(srcdir)" -c "$(MKDEP_CC)" -m "$(MKDEP_CFLAGS)"
69MKDEP_CC	= @OL_MKDEP@
70MKDEP_CFLAGS = @OL_MKDEP_FLAGS@
71
72MKVERSION = $(top_srcdir)/build/mkversion -v "$(VERSION)"
73
74LIBTOOL = @LIBTOOL@
75LIBRELEASE = @OPENLDAP_LIBRELEASE@
76LIBVERSION = @OPENLDAP_LIBVERSION@
77LTVERSION = -release $(LIBRELEASE) -version-info $(LIBVERSION)
78
79# libtool --only flag for libraries: platform specific
80NT_LTONLY_LIB = # --only-$(BUILD_LIBS_DYNAMIC)
81LTONLY_LIB = $(@PLAT@_LTONLY_LIB)
82
83# libtool --only flag for modules: depends on linkage of module
84# The BUILD_MOD macro is defined in each backend Makefile.in file
85LTONLY_yes = --tag=disable-shared
86LTONLY_mod = --tag=disable-static
87LTONLY_MOD = $(LTONLY_$(BUILD_MOD))
88
89# platform-specific libtool flags
90NT_LTFLAGS_LIB = -no-undefined -avoid-version -rpath $(libdir)
91NT_LTFLAGS_MOD = -no-undefined -avoid-version -rpath $(moduledir)
92UNIX_LTFLAGS_LIB = $(LTVERSION) -rpath $(libdir)
93UNIX_LTFLAGS_MOD = $(LTVERSION) -rpath $(moduledir)
94
95# libtool flags
96LTFLAGS     = $(@PLAT@_LTFLAGS)
97LTFLAGS_LIB = $(@PLAT@_LTFLAGS_LIB)
98LTFLAGS_MOD = $(@PLAT@_LTFLAGS_MOD)
99
100# LIB_DEFS defined in liblber and libldap Makefile.in files.
101# MOD_DEFS defined in backend Makefile.in files.
102
103# platform-specific LINK_LIBS defined in various Makefile.in files.
104# LINK_LIBS referenced in library and module link commands.
105LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS)
106
107LTSTATIC = @LTSTATIC@
108
109LTLINK   = $(LIBTOOL) --mode=link \
110	$(CC) $(LTSTATIC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS)
111
112LTCOMPILE_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=compile \
113	$(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c
114
115LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \
116	$(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB)
117
118LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \
119	$(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c
120
121LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
122	$(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
123
124LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
125LTFINISH = $(LIBTOOL) --mode=finish
126
127# Misc UNIX commands used in build environment
128AR = @AR@
129BASENAME = basename
130CAT = cat
131CHMOD = chmod
132DATE = date
133ECHO = $(SHTOOL) echo
134HOSTNAME = $(SHTOOL) echo -e "%h%d"
135LN = $(SHTOOL) mkln
136LN_H = $(LN)
137LN_S = $(LN) -s
138MAKEINFO = @MAKEINFO@
139MKDIR = $(SHTOOL) mkdir -p
140MV = $(SHTOOL) move
141PWD = pwd
142RANLIB = @RANLIB@
143RM = rm -f
144SED = sed
145SUBST = $(SHTOOL) subst
146
147# For manual pages
148# MANCOMPRESS=@MANCOMPRESS@
149# MANCOMPRESSSUFFIX=@MANCOMPRESSSUFFIX@
150MANCOMPRESS=$(CAT)
151MANCOMPRESSSUFFIX=
152
153SOELIM=soelim
154
155INCLUDEDIR= $(top_srcdir)/include
156LDAP_INCPATH= -I$(LDAP_INCDIR) -I$(INCLUDEDIR)
157LDAP_LIBDIR= $(top_builddir)/libraries
158
159LUTIL_LIBS = @LUTIL_LIBS@
160LTHREAD_LIBS = @LTHREAD_LIBS@
161
162BDB_LIBS = @BDB_LIBS@
163SLAPD_NDB_LIBS = @SLAPD_NDB_LIBS@
164
165LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
166LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la
167LDAP_LIBLDAP_R_LA = $(LDAP_LIBDIR)/libldap_r/libldap_r.la
168
169LDAP_LIBREWRITE_A = $(LDAP_LIBDIR)/librewrite/librewrite.a
170LDAP_LIBLUNICODE_A = $(LDAP_LIBDIR)/liblunicode/liblunicode.a
171LDAP_LIBLUTIL_A = $(LDAP_LIBDIR)/liblutil/liblutil.a
172
173LDAP_L = $(LDAP_LIBLUTIL_A) \
174	$(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
175SLAPD_L = $(LDAP_LIBLUNICODE_A) $(LDAP_LIBREWRITE_A) \
176	$(LDAP_LIBLUTIL_A) $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
177
178WRAP_LIBS = @WRAP_LIBS@
179# AutoConfig generated
180AC_CC	= @CC@
181AC_CFLAGS = @CFLAGS@
182AC_DEFS = @CPPFLAGS@ # @DEFS@
183AC_LDFLAGS = @LDFLAGS@
184AC_LIBS = @LIBS@
185
186KRB4_LIBS = @KRB4_LIBS@
187KRB5_LIBS = @KRB5_LIBS@
188KRB_LIBS = @KRB4_LIBS@ @KRB5_LIBS@
189SASL_LIBS = @SASL_LIBS@
190TLS_LIBS = @TLS_LIBS@
191AUTH_LIBS = @AUTH_LIBS@
192SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
193ICU_LIBS = @ICU_LIBS@
194
195MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
196MODULES_LDFLAGS = @SLAPD_MODULES_LDFLAGS@
197MODULES_LIBS = @MODULES_LIBS@
198SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@
199
200SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@
201SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
202SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
203
204SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS)
205
206# Our Defaults
207CC = $(AC_CC)
208DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES)
209CFLAGS = $(AC_CFLAGS) $(DEFS)
210LDFLAGS = $(LDAP_LIBPATH) $(AC_LDFLAGS) $(XLDFLAGS)
211LIBS = $(XLIBS) $(XXLIBS) $(AC_LIBS) $(XXXLIBS)
212
213LT_CFLAGS = $(AC_CFLAGS)
214LT_CPPFLAGS = $(DEFS)
215
216all:		all-common all-local FORCE
217install:	install-common install-local FORCE
218clean:		clean-common clean-local FORCE
219veryclean:	veryclean-common veryclean-local FORCE
220depend:		depend-common depend-local FORCE
221
222# empty common rules
223all-common:
224install-common:
225clean-common:
226veryclean-common:	clean-common FORCE
227depend-common:
228lint-common:
229lint5-common:
230
231# empty local rules
232all-local:
233install-local:
234clean-local:
235veryclean-local:	clean-local FORCE
236depend-local:
237lint-local:
238lint5-local:
239
240veryclean: FORCE
241	$(RM) Makefile
242	$(RM) -r .libs
243
244Makefile: Makefile.in $(top_srcdir)/build/top.mk
245
246pathtest:
247	$(SHTOOL) --version
248
249# empty rule for forcing rules
250FORCE:
251
252##---------------------------------------------------------------------------
253
254