]> git.sur5r.net Git - openldap/blob - build/top.mk
c458e4d7040cf6b9505d3a4d250f1b81fcfa077d
[openldap] / build / top.mk
1 # $OpenLDAP$
2 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
3 ##
4 ## Copyright 1998-2005 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 1.5+ requires "--tag=CC", but leave it off until we migrate
74 LIBTOOL = @LIBTOOL@ # --tag=CC
75 LIBRELEASE = @OPENLDAP_LIBRELEASE@
76 LIBVERSION = @OPENLDAP_LIBVERSION@
77 LTVERSION = -release $(LIBRELEASE) -version-info $(LIBVERSION)
78
79 # libtool --only flag for libraries: platform specific
80 NT_LTONLY_LIB = # --only-$(BUILD_LIBS_DYNAMIC)
81 LTONLY_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
85 LTONLY_yes = --tag=disable-shared
86 LTONLY_mod = --tag=disable-static
87 LTONLY_MOD = $(LTONLY_$(BUILD_MOD))
88
89 # platform-specific libtool flags
90 NT_LTFLAGS_LIB = -no-undefined -avoid-version -rpath $(libdir)
91 NT_LTFLAGS_MOD = -no-undefined -avoid-version -rpath $(moduledir)
92 UNIX_LTFLAGS_LIB = $(LTVERSION) -rpath $(libdir)
93 UNIX_LTFLAGS_MOD = $(LTVERSION) -rpath $(moduledir)
94
95 # libtool flags
96 LTFLAGS     = $(@PLAT@_LTFLAGS)
97 LTFLAGS_LIB = $(@PLAT@_LTFLAGS_LIB)
98 LTFLAGS_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.
105 LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS)
106
107 LTSTATIC = @LTSTATIC@
108
109 LTLINK   = $(LIBTOOL) --mode=link \
110         $(CC) $(LTSTATIC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS)
111
112 LTCOMPILE_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=compile \
113         $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c
114
115 LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \
116         $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB)
117
118 LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \
119         $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c
120
121 LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
122         $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
123
124 LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) 
125 LTFINISH = $(LIBTOOL) --mode=finish
126
127 # Misc UNIX commands used in build environment
128 AR = @AR@
129 BASENAME = basename
130 CAT = cat
131 CHMOD = chmod
132 DATE = date
133 ECHO = $(SHTOOL) echo
134 HOSTNAME = $(SHTOOL) echo -e "%h%d"
135 LN = $(SHTOOL) mkln
136 LN_H = $(LN)
137 LN_S = $(LN) -s
138 MAKEINFO = @MAKEINFO@
139 MKDIR = $(SHTOOL) mkdir -p
140 MV = $(SHTOOL) move
141 PWD = pwd
142 RANLIB = @RANLIB@
143 RM = rm -f
144 SED = sed
145 SUBST = $(SHTOOL) subst
146
147 # For manual pages
148 # MANCOMPRESS=@MANCOMPRESS@
149 # MANCOMPRESSSUFFIX=@MANCOMPRESSSUFFIX@
150 MANCOMPRESS=$(CAT)
151 MANCOMPRESSSUFFIX=
152
153 INCLUDEDIR= $(top_srcdir)/include
154 LDAP_INCPATH= -I$(LDAP_INCDIR) -I$(INCLUDEDIR)
155 LDAP_LIBDIR= $(top_builddir)/libraries
156
157 LUTIL_LIBS = @LUTIL_LIBS@
158 LDBM_LIBS = @LDBM_LIBS@
159 LTHREAD_LIBS = @LTHREAD_LIBS@
160
161 LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
162 LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la
163 LDAP_LIBLDAP_R_LA = $(LDAP_LIBDIR)/libldap_r/libldap_r.la
164
165 LDAP_LIBLREWRITE_LA = $(LDAP_LIBDIR)/librewrite/liblrewrite.la
166 LDAP_LIBLUNICODE_A = $(LDAP_LIBDIR)/liblunicode/liblunicode.a
167 LDAP_LIBLUTIL_A = $(LDAP_LIBDIR)/liblutil/liblutil.a
168
169 LDAP_L = $(LDAP_LIBLUTIL_A) \
170         $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
171 SLURPD_L = $(LDAP_LIBLUTIL_A) \
172         $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
173 SLAPD_L = $(LDAP_LIBLUNICODE_A) $(LDAP_LIBLREWRITE_LA) \
174         $(SLURPD_L)
175
176 WRAP_LIBS = @WRAP_LIBS@
177 # AutoConfig generated 
178 AC_CC   = @CC@
179 AC_CFLAGS = @CFLAGS@
180 AC_DEFS = @CPPFLAGS@ # @DEFS@
181 AC_LDFLAGS = @LDFLAGS@
182 AC_LIBS = @LIBS@
183
184 KRB4_LIBS = @KRB4_LIBS@
185 KRB5_LIBS = @KRB5_LIBS@
186 KRB_LIBS = @KRB4_LIBS@ @KRB5_LIBS@
187 SASL_LIBS = @SASL_LIBS@
188 TLS_LIBS = @TLS_LIBS@
189 AUTH_LIBS = @AUTH_LIBS@
190 SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
191
192 MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
193 MODULES_LDFLAGS = @SLAPD_MODULES_LDFLAGS@
194 MODULES_LIBS = @MODULES_LIBS@
195 SLAPD_PERL_LDFLAGS = @SLAPD_PERL_LDFLAGS@
196
197 SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@
198 SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
199 SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
200
201 SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@
202 SLURPD_LIBS = @SLURPD_LIBS@
203
204 # Our Defaults
205 CC = $(AC_CC)
206 DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES)
207 CFLAGS = $(AC_CFLAGS) $(DEFS)
208 LDFLAGS = $(LDAP_LIBPATH) $(AC_LDFLAGS) $(XLDFLAGS)
209 LIBS = $(XLIBS) $(XXLIBS) $(AC_LIBS) $(XXXLIBS)
210
211 LT_CFLAGS = $(AC_CFLAGS)
212 LT_CPPFLAGS = $(DEFS)
213
214 all:            all-common all-local FORCE
215 install:        install-common install-local FORCE
216 clean:          clean-common clean-local FORCE
217 veryclean:      veryclean-common veryclean-local FORCE
218 depend:         depend-common depend-local FORCE
219
220 # empty common rules
221 all-common:
222 install-common:
223 clean-common:
224 veryclean-common:       clean-common FORCE
225 depend-common:
226 lint-common:
227 lint5-common:
228
229 # empty local rules
230 all-local:
231 install-local:
232 clean-local:
233 veryclean-local:        clean-local FORCE
234 depend-local:
235 lint-local:
236 lint5-local:
237
238 veryclean: FORCE
239         $(RM) Makefile
240         $(RM) -r .libs
241
242 Makefile: Makefile.in $(top_srcdir)/build/top.mk
243
244 pathtest:
245         $(SHTOOL) --version
246
247 # empty rule for forcing rules
248 FORCE:
249
250 ##---------------------------------------------------------------------------
251