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