Automake includes a number of Autoconf macros which can be used in your package; some of them are actually required by Automake in certain situations. These macros must be defined in your aclocal.m4; otherwise they will not be seen by autoconf.
The aclocal program will automatically generate aclocal.m4 files based on the contents of configure.in. This provides a convenient way to get Automake-provided macros, without having to search around. Also, the aclocal mechanism is extensible for use by other packages.
At startup, aclocal scans all the .m4 files it can find, looking for macro definitions. Then it scans configure.in. Any mention of one of the macros found in the first step causes that macro, and any macros it in turn requires, to be put into aclocal.m4.
The contents of acinclude.m4, if it exists, are also automatically included in aclocal.m4. This is useful for incorporating local macros into configure.
aclocal tries to be smart about looking for new AC_DEFUNs in the files it scans. It will warn if it finds duplicates. It also tries to copy the full text of the scanned file into aclocal.m4, including both # and dnl comments. If you want to make a comment which will be completely ignored by aclocal, use ## as the comment leader.
aclocal accepts the following options:
Look for the macro files in dir instead of the installation directory. This is typically used for debugging.
Add the directory dir to the list of directories searched for .m4 files.
Prints the name of the directory which aclocal will search to find the .m4 files. When this option is given, normal processing is suppressed. This option can be used by a package to determine where to install a macro file.