Improve “possibly undefined macro” diagnostic
[autoconf.git] / cfg.mk
blobc5e9d6e36c91bbc1006a0a4cb94369189db2c6ba
1 # Customize maint.mk for Autoconf. -*- Makefile -*-
2 # Copyright (C) 2003-2004, 2006, 2008-2017, 2020-2024 Free Software
3 # Foundation, Inc.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <https://www.gnu.org/licenses/>.
18 # This file is '-include'd into GNUmakefile.
20 # Build with our own versions of these tools, when possible.
21 export PATH := $(or $(PWD),$(shell pwd))/tests:$(PATH)
23 # Remove the autoreconf-provided INSTALL, so that we regenerate it.
24 _autoreconf = autoreconf -i -v && rm -f INSTALL
26 # Used in maint.mk's web-manual rule
27 manual_title = Creating Automatic Configuration Scripts
29 # The local directory containing the checked-out copy of gnulib used
30 # in this release (override the default). The $GNULIB_SRCDIR variable
31 # is also honored by the gnulib-provided bootstrap script, so using it
32 # here is consistent.
33 gnulib_dir = $${GNULIB_SRCDIR-'$(abs_srcdir)'/../gnulib}
35 # The bootstrap tools (override the default).
36 bootstrap-tools = automake
38 # Set preferred lists for announcements.
40 announcement_Cc_ = $(PACKAGE_BUGREPORT), autotools-announce@gnu.org
41 announcement_mail-alpha = autoconf@gnu.org
42 announcement_mail-beta = autoconf@gnu.org
43 announcement_mail-stable = info-gnu@gnu.org, autoconf@gnu.org
44 announcement_mail_headers_ = \
45 To: $(announcement_mail-$(RELEASE_TYPE)) \
46 CC: $(announcement_Cc_) \
47 Mail-Followup-To: autoconf@gnu.org
49 # Update files maintained in gnulib and autom4te.
50 .PHONY: fetch
51 fetch:
52 $(PERL) $(srcdir)/build-aux/fetch.pl "$(abs_top_srcdir)"
54 # Tests not to run.
55 local-checks-to-skip ?= \
56 changelog-check \
57 sc_GPL_version \
58 sc_cast_of_alloca_return_value \
59 sc_m4_quote_check \
60 sc_makefile_at_at_check \
61 sc_prohibit_HAVE_MBRTOWC \
62 sc_prohibit_always-defined_macros \
63 sc_prohibit_always_true_header_tests \
64 sc_prohibit_magic_number_exit \
65 sc_prohibit_stat_st_blocks \
66 sc_unmarked_diagnostics \
67 sc_unportable_grep_q
69 # Always use shorthand copyrights.
70 update-copyright-env = \
71 UPDATE_COPYRIGHT_USE_INTERVALS=1 \
72 UPDATE_COPYRIGHT_MAX_LINE_LENGTH=72
74 update-copyright: update-release-year
75 update-release-year:
76 $(AM_V_GEN):; \
77 if test -n "$$UPDATE_COPYRIGHT_YEAR"; then \
78 current_year=$$UPDATE_COPYRIGHT_YEAR; \
79 else \
80 current_year=`date +%Y` && test -n "$$current_year" \
81 || { echo "$@: cannot get current year" >&2; exit 1; }; \
82 fi; \
83 sed -i "/^RELEASE_YEAR=/s/=.*$$/=$$current_year/" configure.ac
84 .PHONY: update-release-year
86 # Prevent incorrect NEWS edits.
87 old_NEWS_hash = 20f602e498b46edc50ce5bc31aeb58fc
89 # Update autoconf-latest.tar.* symlinks during 'make stable/beta'.
90 GNUPLOADFLAGS = --symlink-regex
92 exclude_file_name_regexp--sc_prohibit_undesirable_word_seq = \
93 ^(maint\.mk|build-aux/texinfo\.tex)$$
94 exclude_file_name_regexp--sc_prohibit_test_minus_ao = \
95 ^(maint\.mk|doc/autoconf\.texi)$$
96 exclude_file_name_regexp--sc_prohibit_atoi_atof = ^doc/autoconf\.texi$$
97 exclude_file_name_regexp--sc_useless_cpp_parens = \
98 ^(build-aux/config\.guess|doc/standards\.texi)$$
99 exclude_file_name_regexp--sc_trailing_blank = ^build-aux/texinfo\.tex$$
100 exclude_file_name_regexp--sc_two_space_separator_in_usage = \
101 ^build-aux/gnupload$$
102 exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests = \
103 ^doc/autoconf\.texi$$