<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Author" content="Riccardo Facchetti"> <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.4.3 i586) [Netscape]"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> <h2> Autoconf</h2> <p><br>APCUPSD site configuration relies, for its multi-platform design, on GNU's autoconf. This is not only an option: it is mandatory because of the number of things that needs to be checked before actually start the compilation. <p>Therefore it is paramount for a developer, especially for a distribution mantainer, to know at least the basics of autoconf. <p>If you need to check for a new function or put a new target in Makefile, you have to modify configure.in or Makefile.in. <p>The $(allexe) variable of the Makefile.in contain all the files that will be compiled in that directory. If you add a new file into the sources, add it to the Makefile.in, then you have just to run ./configure to update the Makefile(s) and `config.h'. Be warned. After modifying configure.in, Makefile.in, aclocal.m4 or acconfig.h the best thing you can do is: <br> <ul> <li> autoconf && autoheader</li> <li> ./configure</li> <li> make distclean</li> <li> autoconf && autoheader</li> <li> ./configure</li> </ul> <p><br>A script called scripts/autoregen.sh automate these steps. Autoregen.sh understand the flags "config" and "compile". Without flags it will regenerate everything, compile and distclean the source tree. <br> </body> </html>