autoreconf command in Linux with examples
Last Updated :
03 Jun, 2021
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.
#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: Now, Let’s run the program. See, now Hello, World is printed on the screen
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...