In an autoconf/automake/libtool project you need to run:
libtoolize: this copies/links a few support scripts, includingltmain.sh(which is the main component of libtool).aclocal: this looks up all m4 macros that your configure script will need, and make a local copy for easier access.autoheader: optional, if you want to useconfig.h/AC_CONFIG_HEADERS, otherwise all the test result macros will be inlined when you call the compiler.autoconf: to expand all the macros used byconfigure.acinto theconfigurescript.automake: to convert all theMakefile.amintoMakefile.intemplates. You probably want to invoke this with--add-missingso additional support scripts can be linked/copied to your project (such ascompile,missing,depcomp,test-driver, etc).
Don’t worry about running each tool. Just invoke autoreconf -i and it’ll run the tools that are needed. Add -v if you want to see what tools is being executed. To avoid mistakes, just put a script like this at the root of your project:
#!/bin/bash -x
mkdir -p m4
exec autoreconf --install "$@"
Users that checkout/clone the project directly from the source repository will need to run this ./bootstrap script at least once. This is not needed if the user got a tarball distribution.
Automake can take fairly good care of itself; it’ll re-invoke the above tools when needed, when you run make. But if you generate a broken Makefile, you’ll need to invoke ./bootstrap and ./configure again to generate new Makefiles.