xref: /freebsd/crypto/krb5/src/config/pre.in (revision f1c4c3daccbaf3820f0e2224de53df12fc952fcc)
1############################################################
2## config/pre.in
3## common prefix for all Makefile.in in the Kerberos V5 tree.
4##
5
6# These are set per-directory by autoconf 2.52 and 2.53:
7#  srcdir=@srcdir@
8#  top_srcdir=@top_srcdir@
9# but these are only set by autoconf 2.53, and thus not useful to us on
10# macOS yet (as of 10.2):
11#  abs_srcdir=@abs_srcdir@
12#  abs_top_srcdir=@abs_top_srcdir@
13#  builddir=@builddir@
14#  abs_builddir=@abs_builddir@
15#  top_builddir=@top_builddir@
16#  abs_top_builddir=@abs_top_builddir@
17# The "top" variables refer to the directory with the configure (or
18# config.status) script.
19
20WHAT = unix
21SHELL=/bin/sh
22
23all: all-$(WHAT)
24
25clean: clean-$(WHAT)
26
27distclean: distclean-$(WHAT)
28
29install: install-$(WHAT)
30
31check: check-$(WHAT)
32
33install-headers: install-headers-$(WHAT)
34
35##############################
36# Recursion rule support
37#
38
39# The commands for the recursion targets live in config/post.in.
40#
41# General form of recursion rules:
42#
43# Each recursive target foo-unix has related targets: foo-prerecurse,
44# foo-recurse, and foo-postrecurse
45#
46# The foo-recurse rule is in post.in.  It is what actually recursively
47# calls make.
48#
49# foo-recurse depends on foo-prerecurse, so any targets that must be
50# built before descending into subdirectories must be dependencies of
51# foo-prerecurse.
52#
53# foo-postrecurse depends on foo-recurse, but targets that must be
54# built after descending into subdirectories should be have
55# foo-recurse as dependencies in addition to being listed under
56# foo-postrecurse, to avoid ordering issues.
57#
58# The foo-prerecurse, foo-recurse, and foo-postrecurse rules are all
59# single-colon rules, to avoid nasty ordering problems with
60# double-colon rules.
61#
62# e.g.
63# all: includes foo
64# foo:
65#	echo foo
66# includes:
67#	echo bar
68# includes:
69#	echo baz
70#
71# will result in "bar", "foo", "baz" on AIX, and possibly others.
72all-unix: all-postrecurse
73all-postrecurse: all-recurse
74all-recurse: all-prerecurse
75
76all-prerecurse:
77all-postrecurse:
78
79clean-unix:: clean-postrecurse
80clean-postrecurse: clean-recurse
81clean-recurse: clean-prerecurse
82
83clean-prerecurse:
84clean-postrecurse:
85
86distclean-unix: distclean-postrecurse
87distclean-postrecurse: distclean-recurse
88distclean-recurse: distclean-prerecurse
89
90distclean-prerecurse:
91distclean-postrecurse:
92
93install-unix: install-postrecurse
94install-postrecurse: install-recurse
95install-recurse: install-prerecurse
96
97install-prerecurse:
98install-postrecurse:
99
100install-headers-unix: install-headers-postrecurse
101install-headers-postrecurse: install-headers-recurse
102install-headers-recurse: install-headers-prerecurse
103
104install-headers-prerecurse:
105install-headers-postrecurse:
106
107check-unix: check-postrecurse
108check-postrecurse: check-recurse
109check-recurse: check-prerecurse
110
111check-prerecurse:
112check-postrecurse:
113
114Makefiles: Makefiles-postrecurse
115Makefiles-postrecurse: Makefiles-recurse
116Makefiles-recurse: Makefiles-prerecurse
117
118Makefiles-prerecurse:
119Makefiles-postrecurse:
120
121generate-files-mac: generate-files-mac-postrecurse
122generate-files-mac-postrecurse: generate-files-mac-recurse
123generate-files-mac-recurse: generate-files-mac-prerecurse
124generate-files-mac-prerecurse:
125
126#
127# end recursion rule support
128##############################
129
130# Directory syntax:
131#
132# begin relative path
133REL=
134# this is magic... should only be used for preceding a program invocation
135C=./
136# "/" for UNIX, "\" for Windows; *sigh*
137S=/
138
139#
140srcdir = @srcdir@
141top_srcdir = @top_srcdir@
142VPATH = @srcdir@
143CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
144
145# DEFS		set by configure
146# DEFINES	set by local Makefile.in
147# LOCALINCLUDES	set by local Makefile.in
148# CPPFLAGS	user override
149# CFLAGS	user override but starts off set by configure
150# WARN_CFLAGS	user override but starts off set by configure
151# PTHREAD_CFLAGS set by configure, not included in CFLAGS so that we
152#		don't pull the pthreads library into shared libraries
153# ASAN_FLAGS    set by configure when --enable-asan is used
154ALL_CFLAGS = $(DEFS) $(DEFINES) $(KRB_INCLUDES) $(LOCALINCLUDES) \
155	-DKRB5_DEPRECATED=1 \
156	-DKRB5_PRIVATE \
157	$(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(PTHREAD_CFLAGS) $(ASAN_FLAGS)
158ALL_CXXFLAGS = $(DEFS) $(DEFINES) $(KRB_INCLUDES) $(LOCALINCLUDES) \
159	-DKRB5_DEPRECATED=1 \
160	-DKRB5_PRIVATE \
161	$(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(PTHREAD_CFLAGS) \
162	$(ASAN_FLAGS)
163
164CFLAGS = @CFLAGS@
165CXXFLAGS = @CXXFLAGS@
166WARN_CFLAGS = @WARN_CFLAGS@
167WARN_CXXFLAGS = @WARN_CXXFLAGS@
168ASAN_FLAGS = @ASAN_FLAGS@
169PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
170PTHREAD_LIBS = @PTHREAD_LIBS@
171THREAD_LINKOPTS = $(PTHREAD_CFLAGS) $(PTHREAD_LIBS)
172CPPFLAGS = @CPPFLAGS@
173DEFS = @DEFS@
174CC = @CC@
175CXX = @CXX@
176LD = $(PURE) @LD@
177KRB_INCLUDES = -I$(BUILDTOP)/include -I$(top_srcdir)/include
178LDFLAGS = @LDFLAGS@
179LIBS = @LIBS@
180FUZZ_LDFLAGS = @FUZZ_LDFLAGS@
181
182INSTALL=@INSTALL@
183INSTALL_STRIP=
184INSTALL_PROGRAM=@INSTALL_PROGRAM@ $(INSTALL_STRIP)
185INSTALL_SCRIPT=@INSTALL_PROGRAM@
186INSTALL_DATA=@INSTALL_DATA@
187INSTALL_SHLIB=@INSTALL_SHLIB@
188INSTALL_SETUID=$(INSTALL) $(INSTALL_STRIP) -m 4755 -o root
189## This is needed because autoconf will sometimes define @exec_prefix@ to be
190## ${prefix}.
191prefix=@prefix@
192INSTALL_PREFIX=$(prefix)
193INSTALL_EXEC_PREFIX=@exec_prefix@
194exec_prefix=@exec_prefix@
195datarootdir=@datarootdir@
196localstatedir=@localstatedir@
197runstatedir=@runstatedir@
198datadir = @datadir@
199EXAMPLEDIR = $(datadir)/examples/krb5
200
201KRB5MANROOT = @mandir@
202ADMIN_BINDIR = @sbindir@
203SERVER_BINDIR = @sbindir@
204CLIENT_BINDIR =@bindir@
205PKGCONFIG_DIR = @libdir@/pkgconfig
206ADMIN_MANDIR = $(KRB5MANROOT)/man8
207SERVER_MANDIR = $(KRB5MANROOT)/man8
208CLIENT_MANDIR = $(KRB5MANROOT)/man1
209FILE_MANDIR = $(KRB5MANROOT)/man5
210ADMIN_CATDIR = $(KRB5MANROOT)/cat8
211SERVER_CATDIR = $(KRB5MANROOT)/cat8
212CLIENT_CATDIR = $(KRB5MANROOT)/cat1
213FILE_CATDIR = $(KRB5MANROOT)/cat5
214OVERVIEW_MANDIR = $(KRB5MANROOT)/man7
215OVERVIEW_CATDIR = $(KRB5MANROOT)/cat7
216KRB5_LIBDIR = @libdir@
217KRB5_INCDIR = @includedir@
218MODULE_DIR = @libdir@/krb5/plugins
219KRB5_DB_MODULE_DIR = $(MODULE_DIR)/kdb
220KRB5_PA_MODULE_DIR = $(MODULE_DIR)/preauth
221KRB5_AD_MODULE_DIR = $(MODULE_DIR)/authdata
222KRB5_LIBKRB5_MODULE_DIR = $(MODULE_DIR)/libkrb5
223KRB5_TLS_MODULE_DIR = $(MODULE_DIR)/tls
224KRB5_LOCALEDIR = @localedir@
225GSS_MODULE_DIR = @libdir@/gss
226KRB5_INCSUBDIRS = \
227	$(KRB5_INCDIR)/kadm5 \
228	$(KRB5_INCDIR)/krb5 \
229	$(KRB5_INCDIR)/gssapi \
230	$(KRB5_INCDIR)/gssrpc
231
232SKIPTESTS	= $(BUILDTOP)/skiptests
233
234RUNPYTEST	= PYTHONPATH=$(top_srcdir)/util VALGRIND="$(VALGRIND)" \
235			$(PYTHON)
236
237
238transform = @program_transform_name@
239
240RM = rm -f
241CP = cp
242MV = mv -f
243RANLIB = @RANLIB@
244AWK = @AWK@
245YACC = @YACC@
246PERL = @PERL@
247PYTHON = @PYTHON@
248AUTOCONF = autoconf
249AUTOCONFFLAGS =
250AUTOHEADER = autoheader
251AUTOHEADERFLAGS =
252MOVEIFCHANGED = $(top_srcdir)/config/move-if-changed
253
254TOPLIBD = $(BUILDTOP)/lib
255
256OBJEXT = o
257EXEEXT =
258
259#
260# variables for libraries, for use in linking programs
261# -- this may want to get broken out into a separate frag later
262#
263# invocation is like:
264# prog: foo.o bar.o $(KRB5_BASE_DEPLIBS)
265# 	$(CC_LINK) -o $@ foo.o bar.o $(KRB5_BASE_LIBS)
266
267CC_LINK=@CC_LINK@ $(ASAN_FLAGS)
268CXX_LINK=@CXX_LINK@ $(ASAN_FLAGS)
269
270# Makefile.in files which build programs can override the list of
271# directories to look for dependent libraries in (in the form -Ldir1
272# -Ldir2 ...) and also the list of rpath directories to search (in the
273# form dir1:dir2:...).
274PROG_LIBPATH=-L$(TOPLIBD)
275PROG_RPATH=$(KRB5_LIBDIR)
276
277# Library Makefile.in files can override this list of directories to
278# look for dependent libraries in (in the form -Ldir1 -Ldir2 ...) and
279# also the list of rpath directories to search (in the form
280# dir1:dir2:...)
281SHLIB_DIRS=-L$(TOPLIBD)
282SHLIB_RDIRS=$(KRB5_LIBDIR)
283
284# Multi-directory library Makefile.in files should override this list
285# of object files with the full list.
286STOBJLISTS=OBJS.ST
287
288# prefix (with no spaces after) for rpath flag to cc
289RPATH_FLAG=@RPATH_FLAG@
290
291# link flags to add PROG_RPATH to the rpath
292PROG_RPATH_FLAGS=@PROG_RPATH_FLAGS@
293
294# this gets set by configure to either $(STLIBEXT) or $(SHLIBEXT),
295# depending on whether we're building with shared libraries.
296DEPLIBEXT=@DEPLIBEXT@
297
298KDB5_PLUGIN_DEPLIBS = @KDB5_PLUGIN_DEPLIBS@
299KDB5_PLUGIN_LIBS = @KDB5_PLUGIN_LIBS@
300
301KADMCLNT_DEPLIB	= $(TOPLIBD)/libkadm5clnt_mit$(DEPLIBEXT)
302KADMSRV_DEPLIB	= $(TOPLIBD)/libkadm5srv_mit$(DEPLIBEXT)
303KDB5_DEPLIB	= $(TOPLIBD)/libkdb5$(DEPLIBEXT)
304GSSRPC_DEPLIB	= $(TOPLIBD)/libgssrpc$(DEPLIBEXT)
305GSS_DEPLIB	= $(TOPLIBD)/libgssapi_krb5$(DEPLIBEXT)
306KRB5_DEPLIB	= $(TOPLIBD)/libkrb5$(DEPLIBEXT)
307CRYPTO_DEPLIB	= $(TOPLIBD)/libk5crypto$(DEPLIBEXT)
308COM_ERR_DEPLIB	= $(COM_ERR_DEPLIB-@COM_ERR_VERSION@)
309COM_ERR_DEPLIB-sys = # empty
310COM_ERR_DEPLIB-intlsys = # empty
311COM_ERR_DEPLIB-k5 = $(TOPLIBD)/libcom_err$(DEPLIBEXT)
312COM_ERR_LIB = @COM_ERR_LIB@
313SUPPORT_LIBNAME=krb5support
314SUPPORT_DEPLIB	= $(TOPLIBD)/lib$(SUPPORT_LIBNAME)$(DEPLIBEXT)
315
316# These are forced to use ".a" as an extension because they're never
317# built shared.
318SS_DEPLIB	= $(SS_DEPLIB-@SS_VERSION@)
319SS_DEPLIB-k5	= $(TOPLIBD)/libss.a
320SS_DEPLIB-sys	=
321APPUTILS_DEPLIB	= $(TOPLIBD)/libapputils.a
322
323KRB5_BASE_DEPLIBS	= $(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(COM_ERR_DEPLIB) $(SUPPORT_DEPLIB)
324KDB5_DEPLIBS		= $(KDB5_DEPLIB) $(KDB5_PLUGIN_DEPLIBS)
325GSS_DEPLIBS		= $(GSS_DEPLIB)
326GSSRPC_DEPLIBS		= $(GSSRPC_DEPLIB) $(GSS_DEPLIBS)
327KADM_COMM_DEPLIBS	= $(GSSRPC_DEPLIBS) $(KDB5_DEPLIBS) $(GSSRPC_DEPLIBS)
328KADMSRV_DEPLIBS		= $(KADMSRV_DEPLIB) $(KDB5_DEPLIBS) $(KADM_COMM_DEPLIBS)
329KADMCLNT_DEPLIBS	= $(KADMCLNT_DEPLIB) $(KADM_COMM_DEPLIBS)
330
331# Header file dependencies we might override.
332# See util/depfix.sed.
333# Also see depend-verify-* in post.in, which wants to confirm that we're using
334# the in-tree versions.
335COM_ERR_VERSION = @COM_ERR_VERSION@
336COM_ERR_DEPS	= $(COM_ERR_DEPS-@COM_ERR_VERSION@)
337COM_ERR_DEPS-sys =
338COM_ERR_DEPS-intlsys =
339COM_ERR_DEPS-k5	= $(BUILDTOP)/include/com_err.h
340SS_VERSION	= @SS_VERSION@
341SS_DEPS		= $(SS_DEPS-@SS_VERSION@)
342SS_DEPS-sys	=
343SS_DEPS-k5	= $(BUILDTOP)/include/ss/ss.h $(BUILDTOP)/include/ss/ss_err.h
344VERTO_VERSION	= @VERTO_VERSION@
345VERTO_DEPS	= $(VERTO_DEPS-@VERTO_VERSION@)
346VERTO_DEPS-sys	=
347VERTO_DEPS-k5	= $(BUILDTOP)/include/verto.h
348
349# LIBS gets substituted in... e.g. -lnsl -lsocket
350
351# Editline or readline flags and libraries.
352RL_CFLAGS	= @RL_CFLAGS@
353RL_LIBS		= @RL_LIBS@
354
355SS_LIB		= $(SS_LIB-@SS_VERSION@)
356SS_LIB-sys	= @SS_LIB@
357SS_LIB-k5	= $(TOPLIBD)/libss.a $(RL_LIBS)
358KDB5_LIB	= -lkdb5 $(KDB5_PLUGIN_LIBS)
359
360VERTO_DEPLIB	= $(VERTO_DEPLIB-@VERTO_VERSION@)
361VERTO_DEPLIB-sys = # empty
362VERTO_DEPLIB-k5	= $(TOPLIBD)/libverto$(DEPLIBEXT)
363VERTO_CFLAGS	= @VERTO_CFLAGS@
364VERTO_LIBS	= @VERTO_LIBS@
365
366DL_LIB		= @DL_LIB@
367
368CMOCKA_LIBS	= @CMOCKA_LIBS@
369LDAP_LIBS	= @LDAP_LIBS@
370LMDB_LIBS	= @LMDB_LIBS@
371
372KRB5_LIB			= -lkrb5
373K5CRYPTO_LIB			= -lk5crypto
374GSS_KRB5_LIB			= -lgssapi_krb5
375SUPPORT_LIB			= -l$(SUPPORT_LIBNAME)
376
377# HESIOD_LIBS is -lhesiod...
378HESIOD_LIBS	= @HESIOD_LIBS@
379
380KRB5_BASE_LIBS	= $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(LIBS) $(DL_LIB)
381KDB5_LIBS	= $(KDB5_LIB) $(GSSRPC_LIBS)
382GSS_LIBS	= $(GSS_KRB5_LIB)
383# needs fixing if ever used on macOS!
384GSSRPC_LIBS	= -lgssrpc $(GSS_LIBS)
385KADM_COMM_LIBS	= $(GSSRPC_LIBS)
386# need fixing if ever used on macOS!
387KADMSRV_LIBS	= -lkadm5srv_mit $(HESIOD_LIBS) $(KDB5_LIBS) $(KADM_COMM_LIBS)
388KADMCLNT_LIBS	= -lkadm5clnt_mit $(KADM_COMM_LIBS)
389
390# Misc stuff for linking server programs (and maybe some others,
391# eventually) but which we don't want to install.
392APPUTILS_LIB	= -lapputils
393
394# So test programs can find their libraries without "make install", etc.
395RUN_SETUP=@KRB5_RUN_ENV@
396RUN_VARS=@KRB5_RUN_VARS@
397
398# Appropriate command prefix for most C test programs: use libraries
399# from the build tree, avoid referencing the installed krb5.conf and
400# message catalog, and use valgrind when asked.
401RUN_TEST=$(RUN_SETUP) KRB5_CONFIG=$(top_srcdir)/config-files/krb5.conf \
402    LC_ALL=C $(VALGRIND)
403
404# libk5crypto dependencies
405CRYPTO_IMPL_CFLAGS	= @CRYPTO_IMPL_CFLAGS@
406CRYPTO_IMPL_LIBS	= @CRYPTO_IMPL_LIBS@
407
408# TLS implementation selection
409TLS_IMPL	= @TLS_IMPL@
410TLS_IMPL_CFLAGS = @TLS_IMPL_CFLAGS@
411TLS_IMPL_LIBS	= @TLS_IMPL_LIBS@
412
413# SPAKE preauth back-end libraries
414SPAKE_OPENSSL_LIBS = @SPAKE_OPENSSL_LIBS@
415
416# Whether we have the SASL header file for the LDAP KDB module
417HAVE_SASL = @HAVE_SASL@
418
419# Whether we are building support for NIST SPAKE groups using OpenSSL
420HAVE_SPAKE_OPENSSL = @HAVE_SPAKE_OPENSSL@
421
422# Whether we are building the LMDB KDB module
423HAVE_LMDB = @HAVE_LMDB@
424
425# Whether we have libresolv 1.1.5 for URI discovery tests
426HAVE_RESOLV_WRAPPER = @HAVE_RESOLV_WRAPPER@
427
428SIZEOF_TIME_T = @SIZEOF_TIME_T@
429
430# error table rules
431#
432### /* these are invoked as $(...) foo.et, which works, but could be better */
433COMPILE_ET= $(COMPILE_ET-@COM_ERR_VERSION@)
434COMPILE_ET-sys= compile_et
435COMPILE_ET-intlsys= compile_et --textdomain mit-krb5
436COMPILE_ET-k5= $(BUILDTOP)/util/et/compile_et -d $(top_srcdir)/util/et \
437	--textdomain mit-krb5
438
439.SUFFIXES:  .h .c .et .ct
440
441# These versions cause both .c and .h files to be generated at once.
442# But GNU make doesn't understand this, and parallel builds can trigger
443# both of them at once, causing them to stomp on each other.  The versions
444# below only update one of the files, so compile_et has to get run twice,
445# but it won't break parallel builds.
446#.et.h: ; $(COMPILE_ET) $<
447#.et.c: ; $(COMPILE_ET) $<
448
449.et.h:
450	$(RM) et-h-$*.et et-h-$*.c et-h-$*.h
451	$(CP) $< et-h-$*.et
452	$(COMPILE_ET) et-h-$*.et
453	$(MV) et-h-$*.h $*.h
454	$(RM) et-h-$*.et et-h-$*.c
455.et.c:
456	$(RM) et-c-$*.et et-c-$*.c et-c-$*.h
457	$(CP) $< et-c-$*.et
458	$(COMPILE_ET) et-c-$*.et
459	$(MV) et-c-$*.c $*.c
460	$(RM) et-c-$*.et et-c-$*.h
461
462# rule to make object files
463#
464.SUFFIXES: .cpp .c .o
465.c.o:
466	$(CC) $(ALL_CFLAGS) -c $<
467# Use .cpp because that's what autoconf uses in its test.
468# If the compiler doesn't accept a .cpp suffix here, it wouldn't
469# have accepted it when autoconf tested it.
470.cpp.o:
471	$(CXX) $(ALL_CXXFLAGS) -c $<
472
473# ss command table rules
474#
475MAKE_COMMANDS= $(MAKE_COMMANDS-@SS_VERSION@)
476MAKE_COMMANDS-sys= mk_cmds
477MAKE_COMMANDS-k5= $(BUILDTOP)/util/ss/mk_cmds
478
479.ct.c:
480	$(MAKE_COMMANDS) $<
481
482## Parameters to be set by configure for use in lib.in:
483##
484#
485# These settings are for building shared libraries only.  Including
486# libpriv.in will override with values appropriate for static
487# libraries that we don't install.  Some values will depend on whether
488# the platform supports major and minor version number extensions on
489# shared libraries, hence the FOO_@@ settings.
490
491LN_S=@LN_S@
492AR=@AR@
493
494# Set to "lib$(LIBBASE)$(STLIBEXT) lib$(LIBBASE)$(SHLIBEXT)" or some
495# subset thereof by configure; determines which types of libs get
496# built.
497LIBLIST=@LIBLIST@
498
499# Set by configure; list of library symlinks to make to $(TOPLIBD)
500LIBLINKS=@LIBLINKS@
501
502# Set by configure; name of plugin module to build (libfoo.a or foo.so)
503PLUGIN=@PLUGIN@
504
505# Set by configure; symlink for plugin module for static plugin linking
506PLUGINLINK=@PLUGINLINK@
507
508# Set by configure; list of install targets for libraries
509LIBINSTLIST=@LIBINSTLIST@
510
511# Set by configure; install target
512PLUGININST=@PLUGININST@
513
514# Some of these should really move to pre.in, since programs will need
515# it too. (e.g. stuff that has dependencies on the libraries)
516
517# usually .a
518STLIBEXT=@STLIBEXT@
519
520# usually .so.$(LIBMAJOR).$(LIBMINOR)
521SHLIBVEXT=@SHLIBVEXT@
522
523# usually .so.$(LIBMAJOR) (to allow for major-version compat)
524SHLIBSEXT=@SHLIBSEXT@
525
526# usually .so
527SHLIBEXT=@SHLIBEXT@
528
529# usually _p.a
530PFLIBEXT=@PFLIBEXT@
531
532#
533DYNOBJEXT=@DYNOBJEXT@
534MAKE_DYNOBJ_COMMAND=@MAKE_DYNOBJ_COMMAND@
535DYNOBJ_EXPDEPS=@DYNOBJ_EXPDEPS@
536DYNOBJ_EXPFLAGS=@DYNOBJ_EXPFLAGS@
537
538# For some platforms, a flag which causes shared library creation to
539# check for undefined symbols.  Suppressed when using --enable-asan.
540UNDEF_CHECK=@UNDEF_CHECK@
541
542# File with symbol names to be exported, both functions and data,
543# currently not distinguished.
544SHLIB_EXPORT_FILE=$(srcdir)/$(LIBPREFIX)$(LIBBASE).exports
545
546# File that needs to be current for building the shared library,
547# usually SHLIB_EXPORT_FILE, but not always, if we have to convert
548# it to another, intermediate form for the linker.
549SHLIB_EXPORT_FILE_DEP=@SHLIB_EXPORT_FILE_DEP@
550
551# Export file checker to run when building in maintainer mode on
552# Linux.  This gets included in LDCOMBINE_TAIL.
553EXPORT_CHECK_CMD = && $(PERL) -w $(top_srcdir)/util/export-check.pl \
554	$(SHLIB_EXPORT_FILE) $@
555EXPORT_CHECK = @MAINT@ $(EXPORT_CHECK_CMD)
556
557# Command to run to build a shared library.
558# In systems that require multiple commands, like AIX, it may need
559# to change to rearrange where the various parameters fit in.
560MAKE_SHLIB_COMMAND=@MAKE_SHLIB_COMMAND@
561
562# run path flags for explicit libraries depending on this one,
563# e.g. "-R$(SHLIB_RPATH)"
564SHLIB_RPATH_FLAGS=@SHLIB_RPATH_FLAGS@
565
566# flags for explicit libraries depending on this one,
567# e.g. "$(SHLIB_RPATH_FLAGS) $(SHLIB_SHLIB_DIRFLAGS) $(SHLIB_EXPLIBS)"
568SHLIB_EXPFLAGS=@SHLIB_EXPFLAGS@
569
570## Parameters to be set by configure for use in libobj.in:
571
572# Set to "OBJS.ST OBJS.SH OBJS.PF" or some subset thereof by
573# configure; determines which types of object files get built.
574OBJLISTS=@OBJLISTS@
575
576# Note that $(LIBSRCS) *cannot* contain any variable references, or
577# the suffix substitution will break on some platforms!
578SHLIBOBJS=$(STLIBOBJS:.o=@SHOBJEXT@)
579PFLIBOBJS=$(STLIBOBJS:.o=@PFOBJEXT@)
580
581#
582# rules to make various types of object files
583#
584PICFLAGS=@PICFLAGS@
585PROFFLAGS=@PROFFLAGS@
586
587# platform-dependent temporary files that should get cleaned up
588EXTRA_FILES=@EXTRA_FILES@
589
590VALGRIND=
591# Need absolute paths here because under kshd or ftpd we may run programs
592# while in other directories.
593VALGRIND_LOGDIR = `cd $(BUILDTOP)&&pwd`
594VALGRIND1 = valgrind --tool=memcheck --log-file=$(VALGRIND_LOGDIR)/vg.%p --trace-children=yes --leak-check=yes --suppressions=`cd $(top_srcdir)&&pwd`/util/valgrind-suppressions
595
596# Set OFFLINE=yes to disable tests that assume network connectivity.
597# (Specifically, this concerns the ability to fetch DNS data for
598# mit.edu, to verify that SRV queries are working.)  Note that other
599# tests still assume that the local hostname can be resolved into
600# something that looks like an FQDN, with an IPv4 address.
601OFFLINE=no
602
603# Used when running Python tests.
604PYTESTFLAGS=
605
606##
607## end of pre.in
608############################################################
609