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