automake-1.16: How the Linker is Chosen

 
 8.14.3.1 How the Linker is Chosen
 .................................
 
 When a program or library mixes several languages, Automake chooses the
 linker according to the following priorities.  (The names in parentheses
 are the variables containing the link command.)
 
   1. Native Java (‘GCJLINK’)
   2. Objective C++ (‘OBJCXXLINK’)
   3. C++ (‘CXXLINK’)
   4. Fortran 77 (‘F77LINK’)
   5. Fortran (‘FCLINK’)
   6. Objective C (‘OBJCLINK’)
   7. Unified Parallel C (‘UPCLINK’)
   8. C (‘LINK’)
 
    For example, if Fortran 77, C and C++ source code is compiled into a
 program, then the C++ linker will be used.  In this case, if the C or
 Fortran 77 linkers required any special libraries that weren’t included
 by the C++ linker, then they must be manually added to an ‘_LDADD’ or
 ‘_LIBADD’ variable by the user writing the ‘Makefile.am’.
 
    Automake only looks at the file names listed in ‘_SOURCES’ variables
 to choose the linker, and defaults to the C linker.  Sometimes this is
 inconvenient because you are linking against a library written in
 another language and would like to set the linker more appropriately.
 ⇒Libtool Convenience Libraries, for a trick with
 ‘nodist_EXTRA_..._SOURCES’.
 
    A per-target ‘_LINK’ variable will override the above selection.
 Per-target link flags will cause Automake to write a per-target ‘_LINK’
 variable according to the language chosen as above.