1 # Customize maint.mk for Autoconf. -*- Makefile -*-
2 # Copyright (C) 2003-2004, 2006, 2008-2017, 2020-2024 Free Software
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
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.
52 $(PERL
) $(srcdir)/build-aux
/fetch.pl
"$(abs_top_srcdir)"
55 local-checks-to-skip ?
= \
58 sc_cast_of_alloca_return_value \
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_two_space_separator_in_usage \
67 sc_unmarked_diagnostics \
70 # Always use shorthand copyrights.
71 update-copyright-env
= \
72 UPDATE_COPYRIGHT_USE_INTERVALS
=1 \
73 UPDATE_COPYRIGHT_MAX_LINE_LENGTH
=72
75 update-copyright
: update-release-year
78 if
test -n
"$$UPDATE_COPYRIGHT_YEAR"; then \
79 current_year
=$$UPDATE_COPYRIGHT_YEAR; \
81 current_year
=`date +%Y` && test -n
"$$current_year" \
82 ||
{ echo
"$@: cannot get current year" >&2; exit
1; }; \
84 sed
-i
"/^RELEASE_YEAR=/s/=.*$$/=$$current_year/" configure.ac
85 .PHONY
: update-release-year
87 # Prevent incorrect NEWS edits.
88 old_NEWS_hash
= 20f602e498b46edc50ce5bc31aeb58fc
90 # Update autoconf-latest.tar.* symlinks during 'make stable/beta'.
91 GNUPLOADFLAGS
= --symlink-regex
93 exclude_file_name_regexp--sc_prohibit_undesirable_word_seq
= \
94 ^
(maint\.mk|build-aux
/texinfo\.
tex)$$
95 exclude_file_name_regexp--sc_prohibit_test_minus_ao
= \
96 ^
(maint\.mk|doc
/autoconf\.texi
)$$
97 exclude_file_name_regexp--sc_prohibit_atoi_atof
= ^doc
/autoconf\.texi
$$
98 exclude_file_name_regexp--sc_useless_cpp_parens
= \
99 ^
(build-aux
/config\.guess|doc
/standards\.texi
)$$
100 exclude_file_name_regexp--sc_trailing_blank
= ^build-aux
/texinfo\.
tex$$
101 exclude_file_name_regexp--sc_two_space_separator_in_usage
= \
102 ^build-aux
/gnupload
$$
103 exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests
= \
104 ^doc
/autoconf\.texi
$$