~ubuntu-branches/ubuntu/lucid/postgresql-8.4/lucid-security

« back to all changes in this revision

Viewing changes to src/Makefile.global.in

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2009-03-20 12:00:13 UTC
  • Revision ID: james.westby@ubuntu.com-20090320120013-hogj7egc5mjncc5g
Tags: upstream-8.4~0cvs20090328
ImportĀ upstreamĀ versionĀ 8.4~0cvs20090328

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*-makefile-*-
 
2
# $PostgreSQL$
 
3
 
 
4
#------------------------------------------------------------------------------
 
5
# All PostgreSQL makefiles include this file and use the variables it sets,
 
6
# which in turn are put here by the configure script. There is no need for
 
7
# users to edit this file -- if it turns out to be necessary then that's a
 
8
# bug.
 
9
#
 
10
# A makefile that includes this file needs to set the variable `subdir' to
 
11
# the relative path from the top to itself and `top_builddir' to the relative
 
12
# path from itself to the top before including this file. (The "top" is the
 
13
# parent directory of the directory this file is in.)
 
14
#------------------------------------------------------------------------------
 
15
 
 
16
 
 
17
##########################################################################
 
18
#
 
19
# Meta configuration
 
20
 
 
21
.PHONY: all install install-strip installdirs uninstall clean distclean maintainer-clean distprep check installcheck maintainer-check coverage
 
22
.SILENT: installdirs
 
23
 
 
24
# make `all' the default target
 
25
all:
 
26
 
 
27
# Delete target files if the command fails after it has
 
28
# started to update the file.
 
29
.DELETE_ON_ERROR:
 
30
 
 
31
# PostgreSQL version number
 
32
VERSION = @PACKAGE_VERSION@
 
33
MAJORVERSION = @PG_MAJORVERSION@
 
34
 
 
35
# Support for VPATH builds
 
36
vpath_build = @vpath_build@
 
37
abs_top_srcdir = @abs_top_srcdir@
 
38
 
 
39
ifneq ($(vpath_build),yes)
 
40
top_srcdir = $(top_builddir)
 
41
srcdir = .
 
42
else # vpath_build = yes
 
43
top_srcdir = $(abs_top_srcdir)
 
44
srcdir = $(top_srcdir)/$(subdir)
 
45
VPATH = $(srcdir)
 
46
endif
 
47
 
 
48
# Saved arguments from configure
 
49
configure_args = @configure_args@
 
50
 
 
51
 
 
52
##########################################################################
 
53
#
 
54
# Installation directories
 
55
#
 
56
# These are set by the equivalent --xxxdir configure options.  We
 
57
# append "postgresql" to some of them, if the string does not already
 
58
# contain "pgsql" or "postgres", in order to avoid directory clutter.
 
59
#
 
60
# In a PGXS build, we cannot use the values inserted into Makefile.global
 
61
# by configure, since the installation tree may have been relocated.
 
62
# Instead get the path values from pg_config.
 
63
 
 
64
ifndef PGXS
 
65
 
 
66
# Note that prefix, exec_prefix, and datarootdir aren't defined in a PGXS build;
 
67
# makefiles may only use the derived variables such as bindir.
 
68
 
 
69
prefix := @prefix@
 
70
exec_prefix := @exec_prefix@
 
71
datarootdir := @datarootdir@
 
72
 
 
73
bindir := @bindir@
 
74
 
 
75
datadir := @datadir@
 
76
ifeq "$(findstring pgsql, $(datadir))" ""
 
77
ifeq "$(findstring postgres, $(datadir))" ""
 
78
override datadir := $(datadir)/postgresql
 
79
endif
 
80
endif
 
81
 
 
82
sysconfdir := @sysconfdir@
 
83
ifeq "$(findstring pgsql, $(sysconfdir))" ""
 
84
ifeq "$(findstring postgres, $(sysconfdir))" ""
 
85
override sysconfdir := $(sysconfdir)/postgresql
 
86
endif
 
87
endif
 
88
 
 
89
libdir := @libdir@
 
90
 
 
91
pkglibdir = $(libdir)
 
92
ifeq "$(findstring pgsql, $(pkglibdir))" ""
 
93
ifeq "$(findstring postgres, $(pkglibdir))" ""
 
94
override pkglibdir := $(pkglibdir)/postgresql
 
95
endif
 
96
endif
 
97
 
 
98
includedir := @includedir@
 
99
 
 
100
pkgincludedir = $(includedir)
 
101
ifeq "$(findstring pgsql, $(pkgincludedir))" ""
 
102
ifeq "$(findstring postgres, $(pkgincludedir))" ""
 
103
override pkgincludedir := $(pkgincludedir)/postgresql
 
104
endif
 
105
endif
 
106
 
 
107
mandir := @mandir@
 
108
 
 
109
docdir := @docdir@
 
110
ifeq "$(findstring pgsql, $(docdir))" ""
 
111
ifeq "$(findstring postgres, $(docdir))" ""
 
112
override docdir := $(docdir)/postgresql
 
113
endif
 
114
endif
 
115
 
 
116
htmldir := @htmldir@
 
117
 
 
118
localedir := @localedir@
 
119
 
 
120
else # PGXS case
 
121
 
 
122
# Extension makefiles should set PG_CONFIG, but older ones might not
 
123
ifndef PG_CONFIG
 
124
PG_CONFIG = pg_config
 
125
endif
 
126
 
 
127
bindir := $(shell $(PG_CONFIG) --bindir)
 
128
datadir := $(shell $(PG_CONFIG) --sharedir)
 
129
sysconfdir := $(shell $(PG_CONFIG) --sysconfdir)
 
130
libdir := $(shell $(PG_CONFIG) --libdir)
 
131
pkglibdir := $(shell $(PG_CONFIG) --pkglibdir)
 
132
includedir := $(shell $(PG_CONFIG) --includedir)
 
133
pkgincludedir := $(shell $(PG_CONFIG) --pkgincludedir)
 
134
mandir := $(shell $(PG_CONFIG) --mandir)
 
135
docdir := $(shell $(PG_CONFIG) --docdir)
 
136
localedir := $(shell $(PG_CONFIG) --localedir)
 
137
 
 
138
endif # PGXS
 
139
 
 
140
# These derived path variables aren't separately configurable.
 
141
 
 
142
includedir_server = $(pkgincludedir)/server
 
143
includedir_internal = $(pkgincludedir)/internal
 
144
pgxsdir = $(pkglibdir)/pgxs
 
145
 
 
146
 
 
147
##########################################################################
 
148
#
 
149
# Features
 
150
#
 
151
# Records the choice of the various --enable-xxx and --with-xxx options.
 
152
 
 
153
with_perl       = @with_perl@
 
154
with_python     = @with_python@
 
155
with_tcl        = @with_tcl@
 
156
with_openssl    = @with_openssl@
 
157
with_ossp_uuid  = @with_ossp_uuid@
 
158
with_libxml     = @with_libxml@
 
159
with_libxslt    = @with_libxslt@
 
160
with_system_tzdata = @with_system_tzdata@
 
161
with_zlib       = @with_zlib@
 
162
enable_shared   = @enable_shared@
 
163
enable_rpath    = @enable_rpath@
 
164
enable_nls      = @enable_nls@
 
165
enable_debug    = @enable_debug@
 
166
enable_dtrace   = @enable_dtrace@
 
167
enable_coverage = @enable_coverage@
 
168
enable_thread_safety    = @enable_thread_safety@
 
169
 
 
170
python_includespec      = @python_includespec@
 
171
python_libdir           = @python_libdir@
 
172
python_libspec          = @python_libspec@
 
173
python_additional_libs  = @python_additional_libs@
 
174
python_configdir        = @python_configdir@
 
175
python_version          = @python_version@
 
176
 
 
177
krb_srvtab = @krb_srvtab@
 
178
 
 
179
TCLSH                   = @TCLSH@
 
180
TCL_LIB_FILE            = @TCL_LIB_FILE@
 
181
TCL_LIBS                = @TCL_LIBS@
 
182
TCL_LIB_SPEC            = @TCL_LIB_SPEC@
 
183
TCL_INCLUDE_SPEC        = @TCL_INCLUDE_SPEC@
 
184
TCL_SHARED_BUILD        = @TCL_SHARED_BUILD@
 
185
TCL_SHLIB_LD_LIBS       = @TCL_SHLIB_LD_LIBS@
 
186
 
 
187
PTHREAD_CFLAGS          = @PTHREAD_CFLAGS@
 
188
PTHREAD_LIBS            = @PTHREAD_LIBS@
 
189
 
 
190
have_docbook    = @have_docbook@
 
191
DOCBOOKSTYLE    = @DOCBOOKSTYLE@
 
192
COLLATEINDEX    = @COLLATEINDEX@
 
193
DOCBOOK2MAN     = @DOCBOOK2MAN@
 
194
 
 
195
 
 
196
##########################################################################
 
197
#
 
198
# Programs and flags
 
199
 
 
200
# Compilers
 
201
 
 
202
CPP = @CPP@
 
203
CPPFLAGS = @CPPFLAGS@
 
204
 
 
205
ifdef PGXS
 
206
override CPPFLAGS := -I$(includedir_server) -I$(includedir_internal) $(CPPFLAGS)
 
207
else # not PGXS
 
208
override CPPFLAGS := -I$(top_srcdir)/src/include $(CPPFLAGS)
 
209
ifdef VPATH
 
210
override CPPFLAGS := -I$(top_builddir)/src/include $(CPPFLAGS)
 
211
endif
 
212
endif # not PGXS
 
213
 
 
214
CC = @CC@
 
215
GCC = @GCC@
 
216
SUN_STUDIO_CC = @SUN_STUDIO_CC@
 
217
CFLAGS = @CFLAGS@
 
218
 
 
219
# Kind-of compilers
 
220
 
 
221
BISON = @BISON@
 
222
BISONFLAGS = @BISONFLAGS@ $(YFLAGS)
 
223
FLEX = @FLEX@
 
224
FLEXFLAGS = @FLEXFLAGS@ $(LFLAGS)
 
225
DTRACE = @DTRACE@
 
226
DTRACEFLAGS = @DTRACEFLAGS@
 
227
ZIC = @ZIC@
 
228
 
 
229
# Linking
 
230
 
 
231
AR = @AR@
 
232
DLLTOOL = @DLLTOOL@
 
233
DLLWRAP = @DLLWRAP@
 
234
LIBS = @LIBS@
 
235
LDAP_LIBS_FE = @LDAP_LIBS_FE@
 
236
LDAP_LIBS_BE = @LDAP_LIBS_BE@
 
237
OSSP_UUID_LIBS = @OSSP_UUID_LIBS@
 
238
LD = @LD@
 
239
with_gnu_ld = @with_gnu_ld@
 
240
ld_R_works = @ld_R_works@
 
241
LDFLAGS = @LDFLAGS@
 
242
LDFLAGS_SL = @LDFLAGS_SL@
 
243
LDREL = -r
 
244
LDOUT = -o
 
245
RANLIB = @RANLIB@
 
246
WINDRES = @WINDRES@
 
247
X = @EXEEXT@
 
248
 
 
249
# Perl 
 
250
 
 
251
# quoted for pathname with spaces
 
252
PERL                    = "@PERL@"
 
253
perl_archlibexp         = @perl_archlibexp@
 
254
perl_privlibexp         = @perl_privlibexp@
 
255
perl_useshrplib         = @perl_useshrplib@
 
256
perl_embed_ldflags      = @perl_embed_ldflags@
 
257
 
 
258
# Miscellaneous
 
259
 
 
260
AWK     = @AWK@
 
261
LN_S    = @LN_S@
 
262
MSGFMT  = @MSGFMT@
 
263
MSGMERGE = @MSGMERGE@
 
264
PYTHON  = @PYTHON@
 
265
TAR     = @TAR@
 
266
XGETTEXT = @XGETTEXT@
 
267
 
 
268
GZIP    = gzip
 
269
BZIP2   = bzip2
 
270
 
 
271
PL_TESTDB = pl_regression
 
272
CONTRIB_TESTDB = contrib_regression
 
273
 
 
274
# Installation.
 
275
 
 
276
INSTALL = $(SHELL) $(top_srcdir)/config/install-sh -c
 
277
 
 
278
INSTALL_SCRIPT_MODE     = 755
 
279
INSTALL_DATA_MODE       = 644
 
280
INSTALL_PROGRAM = $(INSTALL_PROGRAM_ENV) $(INSTALL) $(INSTALL_STRIP_FLAG)
 
281
INSTALL_SCRIPT  = $(INSTALL) -m $(INSTALL_SCRIPT_MODE)
 
282
INSTALL_DATA    = $(INSTALL) -m $(INSTALL_DATA_MODE)
 
283
INSTALL_STLIB   = $(INSTALL_STLIB_ENV) $(INSTALL_DATA) $(INSTALL_STRIP_FLAG)
 
284
INSTALL_SHLIB   = $(INSTALL_SHLIB_ENV) $(INSTALL) $(INSTALL_SHLIB_OPTS) $(INSTALL_STRIP_FLAG)
 
285
# Override in Makefile.port if necessary
 
286
INSTALL_SHLIB_OPTS = -m 755
 
287
 
 
288
mkinstalldirs   = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 
289
missing         = $(SHELL) $(top_srcdir)/config/missing
 
290
 
 
291
STRIP           = @STRIP@
 
292
STRIP_STATIC_LIB = @STRIP_STATIC_LIB@
 
293
STRIP_SHARED_LIB = @STRIP_SHARED_LIB@
 
294
 
 
295
# Documentation
 
296
 
 
297
JADE    = @JADE@
 
298
NSGMLS  = @NSGMLS@
 
299
SGMLSPL = @SGMLSPL@
 
300
 
 
301
# Code coverage
 
302
 
 
303
GCOV = @GCOV@
 
304
LCOV = @LCOV@
 
305
GENHTML = @GENHTML@
 
306
 
 
307
ifeq ($(enable_coverage),yes)
 
308
# ccache loses .gcno files
 
309
export CCACHE_DISABLE = 1
 
310
endif
 
311
 
 
312
# Feature settings
 
313
 
 
314
DEF_PGPORT = @default_port@
 
315
WANTED_LANGUAGES = @WANTED_LANGUAGES@
 
316
 
 
317
 
 
318
##########################################################################
 
319
#
 
320
# Additional platform-specific settings
 
321
#
 
322
 
 
323
# Name of the "template"
 
324
PORTNAME= @PORTNAME@
 
325
 
 
326
build_os = @build_os@
 
327
 
 
328
host_tuple = @host@
 
329
host_os = @host_os@
 
330
host_cpu = @host_cpu@
 
331
 
 
332
# Make HAVE_IPV6 available for initdb script creation
 
333
HAVE_IPV6= @HAVE_IPV6@
 
334
 
 
335
# The HP-UX port makefile, for one, needs access to this symbol
 
336
HAVE_POSIX_SIGNALS= @HAVE_POSIX_SIGNALS@
 
337
 
 
338
# This is mainly for use on FreeBSD, where we have both a.out and elf
 
339
# systems now.  May be applicable to other systems to?
 
340
ELF_SYSTEM= @ELF_SYS@
 
341
 
 
342
# Backend stack size limit has to be hard-wired on Windows (it's in bytes)
 
343
WIN32_STACK_RLIMIT=4194304
 
344
 
 
345
# Pull in platform-specific magic
 
346
include $(top_builddir)/src/Makefile.port
 
347
 
 
348
# Set up rpath if enabled.  By default it will point to our libdir,
 
349
# but individual Makefiles can force other rpath paths if needed.
 
350
rpathdir = $(libdir)
 
351
 
 
352
ifeq ($(enable_rpath), yes)
 
353
LDFLAGS += $(rpath)
 
354
endif
 
355
 
 
356
 
 
357
##########################################################################
 
358
#
 
359
# Some variables needed to find some client interfaces
 
360
 
 
361
ifdef PGXS
 
362
# some contribs assumes headers and libs are in the source tree...
 
363
libpq_srcdir = $(includedir)
 
364
libpq_builddir = $(libdir)
 
365
else
 
366
libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
 
367
libpq_builddir = $(top_builddir)/src/interfaces/libpq
 
368
endif
 
369
 
 
370
# This macro is for use by libraries linking to libpq.  (Because libpgport
 
371
# isn't created with the same link flags as libpq, it can't be used.)
 
372
libpq = -L$(libpq_builddir) -lpq
 
373
  
 
374
# If doing static linking, shared library dependency info isn't available,
 
375
# so add in the libraries that libpq depends on.
 
376
ifeq ($(enable_shared), no)
 
377
libpq += $(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt, $(LIBS)) \
 
378
        $(LDAP_LIBS_FE) $(PTHREAD_LIBS)
 
379
endif
 
380
 
 
381
# This macro is for use by client executables (not libraries) that use libpq.
 
382
# We force clients to pull symbols from the non-shared library libpgport 
 
383
# rather than pulling some libpgport symbols from libpq just because 
 
384
# libpq uses those functions too.  This makes applications less 
 
385
# dependent on changes in libpq's usage of pgport.  To do this we link to
 
386
# pgport before libpq.  This does cause duplicate -lpgport's to appear
 
387
# on client link lines.
 
388
ifdef PGXS
 
389
libpq_pgport = -L$(libdir) -lpgport $(libpq)
 
390
else
 
391
libpq_pgport = -L$(top_builddir)/src/port -lpgport $(libpq)
 
392
endif
 
393
 
 
394
 
 
395
submake-libpq:
 
396
        $(MAKE) -C $(libpq_builddir) all
 
397
 
 
398
submake-libpgport:
 
399
        $(MAKE) -C $(top_builddir)/src/port all
 
400
 
 
401
.PHONY: submake-libpq submake-libpgport
 
402
 
 
403
 
 
404
##########################################################################
 
405
#
 
406
# Customization
 
407
#
 
408
# This includes your local customizations if Makefile.custom exists
 
409
# in the source directory.  This file doesn't exist in the original
 
410
# distribution so that it doesn't get overwritten when you upgrade.
 
411
#
 
412
# NOTE:  Makefile.custom is from the pre-Autoconf days of PostgreSQL.
 
413
# You are liable to shoot yourself in the foot if you use it without
 
414
# knowing exactly what you're doing.  The preferred (and more
 
415
# reliable) method is to communicate what you want to do to the
 
416
# configure script, and leave the makefiles alone.
 
417
 
 
418
-include $(top_srcdir)/src/Makefile.custom
 
419
 
 
420
ifneq ($(CUSTOM_INSTALL),)
 
421
INSTALL= $(CUSTOM_INSTALL)
 
422
endif
 
423
 
 
424
ifneq ($(CUSTOM_CC),)
 
425
  CC= $(CUSTOM_CC)
 
426
endif
 
427
 
 
428
ifneq ($(CUSTOM_COPT),)
 
429
  COPT= $(CUSTOM_COPT)
 
430
endif
 
431
 
 
432
ifdef COPT
 
433
   CFLAGS += $(COPT)
 
434
   LDFLAGS += $(COPT)
 
435
endif
 
436
 
 
437
ifdef PROFILE
 
438
   CFLAGS += $(PROFILE)
 
439
   LDFLAGS += $(PROFILE)
 
440
endif
 
441
 
 
442
 
 
443
##########################################################################
 
444
#
 
445
# substitute implementations of C library routines (see src/port/)
 
446
 
 
447
LIBOBJS = @LIBOBJS@
 
448
 
 
449
LIBS := -lpgport $(LIBS)
 
450
# add location of libpgport.a to LDFLAGS
 
451
ifdef PGXS
 
452
override LDFLAGS := -L$(libdir) $(LDFLAGS)
 
453
else
 
454
override LDFLAGS := -L$(top_builddir)/src/port $(LDFLAGS)
 
455
endif
 
456
 
 
457
# to make ws2_32.lib the last library, and always link with shfolder,
 
458
# so SHGetFolderName isn't picked up from shell32.dll
 
459
ifeq ($(PORTNAME),win32)
 
460
LIBS += -lws2_32 -lshfolder
 
461
endif
 
462
 
 
463
# Not really standard libc functions, used by the backend.
 
464
TAS         = @TAS@
 
465
 
 
466
 
 
467
##########################################################################
 
468
#
 
469
# Global targets and rules
 
470
 
 
471
%.i: %.c
 
472
        $(CPP) $(CPPFLAGS) -o $@ $<
 
473
 
 
474
%.gz: %
 
475
        $(GZIP) -f --best $<
 
476
 
 
477
%.bz2: %
 
478
        $(BZIP2) -f $<
 
479
 
 
480
ifndef PGXS
 
481
 
 
482
# Remake Makefile.global from Makefile.global.in if the latter
 
483
# changed. In order to trigger this rule, the including file must
 
484
# write `include $(top_builddir)/src/Makefile.global', not some
 
485
# shortcut thereof.
 
486
$(top_builddir)/src/Makefile.global: $(top_srcdir)/src/Makefile.global.in $(top_builddir)/config.status
 
487
        cd $(top_builddir) && ./config.status src/Makefile.global
 
488
 
 
489
# Remake pg_config.h from pg_config.h.in if the latter changed.
 
490
# config.status will not change the timestamp on pg_config.h if it
 
491
# doesn't change, so as to avoid recompiling the entire tree
 
492
# unnecessarily. Therefore we make config.status update a timestamp file
 
493
# stamp-h everytime it runs, so that we don't trigger this rule everytime.
 
494
# (We do trigger the null rule for stamp-h to pg_config.h everytime; so it's
 
495
# important for that rule to be null!)
 
496
#
 
497
# Of course you need to turn on dependency tracking to get any
 
498
# dependencies on pg_config.h.
 
499
$(top_builddir)/src/include/pg_config.h: $(top_builddir)/src/include/stamp-h
 
500
 
 
501
$(top_builddir)/src/include/stamp-h: $(top_srcdir)/src/include/pg_config.h.in $(top_builddir)/config.status
 
502
        cd $(top_builddir) && ./config.status src/include/pg_config.h
 
503
 
 
504
# Also remake ecpg_config.h from ecpg_config.h.in if the latter changed, same 
 
505
# logic as above.
 
506
$(top_builddir)/src/interfaces/ecpg/include/ecpg_config.h: $(top_builddir)/src/interfaces/ecpg/include/stamp-h
 
507
 
 
508
 $(top_builddir)/src/interfaces/ecpg/include/stamp-h: $(top_builddir)/src/interfaces/ecpg/include/ecpg_config.h.in $(top_builddir)/config.status
 
509
        cd $(top_builddir) && ./config.status src/interfaces/ecpg/include/ecpg_config.h
 
510
 
 
511
# When configure changes, rerun configure with the same options as
 
512
# last time. To change configure, you need to run autoconf manually.
 
513
$(top_builddir)/config.status: $(top_srcdir)/configure
 
514
        cd $(top_builddir) && ./config.status --recheck
 
515
 
 
516
endif # not PGXS
 
517
 
 
518
 
 
519
install-strip:
 
520
        @$(MAKE) INSTALL_PROGRAM_ENV="STRIPPROG='$(STRIP)'" \
 
521
            INSTALL_STLIB_ENV="STRIPPROG='$(STRIP_STATIC_LIB)'" \
 
522
            INSTALL_SHLIB_ENV="STRIPPROG='$(STRIP_SHARED_LIB)'" \
 
523
            INSTALL_STRIP_FLAG=-s \
 
524
            install
 
525
 
 
526
 
 
527
##########################################################################
 
528
#
 
529
# Automatic dependency generation
 
530
# -------------------------------
 
531
# When we configure with --enable-depend then we override the default
 
532
# compilation rule with the magic below. While or after creating the
 
533
# actual output file we also create a dependency list for the .c file.
 
534
# Next time we invoke make we will have top-notch information about
 
535
# whether this file needs to be updated. The dependency files are kept
 
536
# in the .deps subdirectory of each directory.
 
537
 
 
538
autodepend = @autodepend@
 
539
 
 
540
ifeq ($(autodepend), yes)
 
541
 
 
542
ifndef COMPILE.c
 
543
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
 
544
endif
 
545
 
 
546
DEPDIR = .deps
 
547
 
 
548
ifeq ($(GCC), yes)
 
549
 
 
550
# GCC allows us to create object and dependency file in one invocation.
 
551
%.o : %.c
 
552
        @if test ! -d $(DEPDIR); then mkdir -p $(DEPDIR); fi
 
553
        $(COMPILE.c) -o $@ $< -MMD -MP -MF $(DEPDIR)/$(*F).Po
 
554
 
 
555
endif # GCC
 
556
 
 
557
# Include all the dependency files generated for the current
 
558
# directory. List /dev/null as dummy because if the wildcard expands
 
559
# to nothing then make would complain.
 
560
-include $(wildcard $(DEPDIR)/*.Po) /dev/null
 
561
 
 
562
# hook for clean-up
 
563
clean distclean maintainer-clean: clean-deps
 
564
 
 
565
.PHONY: clean-deps
 
566
clean-deps:
 
567
        @rm -rf $(DEPDIR)
 
568
 
 
569
endif # autodepend
 
570
 
 
571
 
 
572
##########################################################################
 
573
#
 
574
# Native language support
 
575
 
 
576
ifeq ($(enable_nls), yes)
 
577
ifneq (,$(wildcard $(srcdir)/nls.mk))
 
578
 
 
579
include $(top_srcdir)/src/nls-global.mk
 
580
 
 
581
endif # nls.mk
 
582
endif # enable_nls
 
583
 
 
584
 
 
585
##########################################################################
 
586
#
 
587
# Coverage
 
588
 
 
589
# Explanation of involved files:
 
590
#   foo.c       source file
 
591
#   foo.o       object file
 
592
#   foo.gcno    gcov graph (a.k.a. "notes") file, created at compile time
 
593
#               (by gcc -ftest-coverage)
 
594
#   foo.gcda    gcov data file, created when the program is run (for
 
595
#               programs compiled with gcc -fprofile-arcs)
 
596
#   foo.c.gcov  gcov output file with coverage information, created by
 
597
#               gcov from foo.gcda (by "make coverage")
 
598
#   foo.c.gcov.out  stdout captured when foo.c.gcov is created, mildly
 
599
#               interesting
 
600
#   lcov.info   lcov tracefile, built from gcda files in one directory,
 
601
#               later collected by "make coverage-html"
 
602
 
 
603
ifeq ($(enable_coverage), yes)
 
604
 
 
605
# There is a strange interaction between lcov and existing .gcov
 
606
# output files.  Hence the rm command and the ordering dependency.
 
607
 
 
608
gcda_files := $(wildcard *.gcda)
 
609
 
 
610
lcov.info: $(gcda_files)
 
611
        rm -f *.gcov
 
612
        $(if $^,$(LCOV) -d . -c -o $@ $(LCOVFLAGS))
 
613
 
 
614
%.c.gcov: %.gcda | lcov.info
 
615
        $(GCOV) -b -f -p -o . $(GCOVFLAGS) $*.c >$*.c.gcov.out
 
616
 
 
617
 
 
618
# hook for clean-up
 
619
clean distclean maintainer-clean: clean-coverage
 
620
 
 
621
.PHONY: clean-coverage
 
622
clean-coverage:
 
623
        rm -f *.gcda *.gcno lcov.info *.gcov *.gcov.out
 
624
 
 
625
 
 
626
# User-callable target to reset counts between test runs
 
627
coverage-clean:
 
628
        rm -f `find . -name '*.gcda' -print`
 
629
 
 
630
endif # enable_coverage