Reputation: 1387
Specifically, I want to do something along the following lines. For a Makefile.am script that defines how a library file should be built, I want to be able to access a common library name throughout. For example, assuming I want the name of the library to be called 'name', I might start with the following variable:
LIBNAME = name
Then I might have something like this:
lib_LTLIBRARIES = lib$(LIBNAME).la
But then automake starts to complain when I want to do something like the following:
lib$(LIBNAME)_la_SOURCES = file1.cpp file2.cpp
lib$(LIBNAME)_la_LIBADD = ...
Is anything like this possible using some other syntax so that I don't have to multiply repeat the name of the library?
Cheers,
Ben.
Upvotes: 3
Views: 1195
Reputation: 57890
You can do it if you define your variable at configure
time instead of in the Makefile itself.
For example, in configure.ac
:
LIBNAME=name
AC_SUBST(LIBNAME)
Then you can access it in Makefile.am
like this:
lib_LTLIBRARIES = lib@[email protected]
Upvotes: 4
Reputation: 16305
Then I might have something like this:
LIBNAME = name lib_LTLIBRARIES = lib$(LIBNAME).la lib$(LIBNAME)_la_SOURCES = file1.cpp file2.cpp lib$(LIBNAME)_la_LIBADD = ...
IFAIK, this will not work with automake. I don't think it's possible to do it using some other syntax, either.
Upvotes: 0