Open In App

autoreconf command in Linux with examples

Last Updated : 03 Jun, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

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. 

       


  • 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 

     

Next Article
Article Tags :

Similar Reads