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