autoreconf command in Linux with examples
autoreconf is a Autotool which is used to create automatically buildable source code for Unix-like systems. Autotool is a common name for autoconf, automake, etc. These all together are termed as Autotools.
Important Points:
- Provides Portability of source code packages by automatic buildable capability.
- Provides common build facilities like make install.
- Automatic dependency generation for C/C++.
Syntax:
autoreconf [OPTION]... [DIRECTORY]...
Options:
- -h, –help : Print the help message and exit.
- -V, –version : Used to show the version number, and then exit.
- -v, –verbose : Verbosely report processing.
- -d, –debug : Don’t remove temporary files.
- -f, –force : This option is used to consider all files obsolete.
- -i, –install : Copy missing auxiliary files.
- –no-recursive : Don’t rebuild sub-packages.
- -s, –symlink : With -i option it is used to install symbolic links instead of copies.
- -m, –make : When applicable, re-run ./configure && make.
Note: Autotools are used to make automatically buildable source code for distribution purpose.
Important Configuration Files:
- configure.ac : Describes configuration for autoreconf.
- Makefile.am : Describes sources of program files and compiler flags for automake.
- Step 1: Make a directory and a C program file.
- Step 1: Make a directory and a C program file.
-
Hello, World Program
#include void main() { printf("Hello, World"); }
-
- Step 2: Make a configure.ac file for autoreconf.
# initialize the process AC_INIT([hello], [0.01]) # make config headers AC_CONFIG_HEADERS([config.h]) #Auxiliary files go here AC_CONFIG_AUX_DIR([build-aux]) # init automake AM_INIT_AUTOMAKE([1.11]) #configure and create "Makefile" AC_CONFIG_FILES([Makefile]) #find and probe C compiler AC_PROG_CC #End AC_OUTPUT
-
- Step 3: Make a Makefile.am for automake.
#list of programs to be installed in bin directory bin_PROGRAMS = hello #sources for targets hello_SOURCES = hello.c
-
- Step 4: Run the following commands on terminal. It will give an error because it is for distribution purpose and VCS(Version Control System) should have some standard license files.
-
- Step 5: Lets make license files.
- Step 6: Retry
-
- Step 6: Now, Let’s run the program. See, now Hello, World is printed on the screen
Please Login to comment...