.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.38.2.
.TH AUTORECONF "1" "September 2010" "GNU Autoconf 2.68" "User Commands"
.SH NAME
autoreconf \- Update generated configuration files
.SH SYNOPSIS
.B autoreconf
[\fIOPTION\fR]... [\fIDIRECTORY\fR]...
.SH DESCRIPTION
Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint'
(formerly `gettextize'), and `libtoolize' where appropriate)
repeatedly to remake the GNU Build System files in specified
DIRECTORIES and their subdirectories (defaulting to `.').
.PP
By default, it only remakes those files that are older than their
sources.  If you install new versions of the GNU Build System,
you can make `autoreconf' remake all of the files by giving it the
`\-\-force' option.
.SS "Operation modes:"
.TP
\fB\-h\fR, \fB\-\-help\fR
print this help, then exit
.TP
\fB\-V\fR, \fB\-\-version\fR
print version number, then exit
.TP
\fB\-v\fR, \fB\-\-verbose\fR
verbosely report processing
.TP
\fB\-d\fR, \fB\-\-debug\fR
don't remove temporary files
.TP
\fB\-f\fR, \fB\-\-force\fR
consider all files obsolete
.TP
\fB\-i\fR, \fB\-\-install\fR
copy missing auxiliary files
.TP
\fB\-\-no\-recursive\fR
don't rebuild sub\-packages
.TP
\fB\-s\fR, \fB\-\-symlink\fR
with \fB\-i\fR, install symbolic links instead of copies
.TP
\fB\-m\fR, \fB\-\-make\fR
when applicable, re\-run ./configure && make
.TP
\fB\-W\fR, \fB\-\-warnings\fR=\fICATEGORY\fR
report the warnings falling in CATEGORY [syntax]
.SS "Warning categories include:"
.TP
`cross'
cross compilation issues
.TP
`gnu'
GNU coding standards (default in gnu and gnits modes)
.TP
`obsolete'
obsolete features or constructions
.TP
`override'
user redefinitions of Automake rules or variables
.TP
`portability'
portability issues (default in gnu and gnits modes)
.TP
`syntax'
dubious syntactic constructs (default)
.TP
`unsupported'
unsupported or incomplete features (default)
.TP
`all'
all the warnings
.TP
`no\-CATEGORY'
turn off warnings in CATEGORY
.TP
`none'
turn off all the warnings
.TP
`error'
treat warnings as errors
.PP
The environment variable `WARNINGS' is honored.  Some subtools might
support other warning types, using `all' is encouraged.
.SS "Library directories:"
.TP
\fB\-B\fR, \fB\-\-prepend\-include\fR=\fIDIR\fR
prepend directory DIR to search path
.TP
\fB\-I\fR, \fB\-\-include\fR=\fIDIR\fR
append directory DIR to search path
.PP
The environment variables AUTOM4TE, AUTOCONF, AUTOHEADER, AUTOMAKE,
ACLOCAL, AUTOPOINT, LIBTOOLIZE, M4, and MAKE are honored.
.SH AUTHOR
Written by David J. MacKenzie and Akim Demaille.
.SH "REPORTING BUGS"
Report bugs to <bug\-autoconf@gnu.org>.
.br
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
.br
General help using GNU software: <http://www.gnu.org/gethelp/>.
.SH COPYRIGHT
Copyright \(co 2010 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
.BR autoconf (1),
.BR automake (1),
.BR autoreconf (1),
.BR autoupdate (1),
.BR autoheader (1),
.BR autoscan (1),
.BR config.guess (1),
.BR config.sub (1),
.BR ifnames (1),
.BR libtool (1).
.PP
The full documentation for
.B autoreconf
is maintained as a Texinfo manual.  If the
.B info
and
.B autoreconf
programs are properly installed at your site, the command
.IP
.B info autoreconf
.PP
should give you access to the complete manual.
