Alex Rivera | Logout

Can't run Makefile.am, what should I do?

Asked 2010-11-17T09:50:04.587
24

I got a C project to compile and run in Linux. It is a very big project with many subdirectories. Inside the parent directory there are files Makefile.am and Makefile.in.

I tried running make -f Makefile.am, and got the following error:

make: Nothing to be done for `Makefile.am'.

What does it mean? How do I accomplish my task?

Edit
Report

1 Answer

16

What has been left out:

  • Makefile.am are transformed to Makefile.in using automake.
  • Makefile.in are transformed to Makefile by running configure.

Neither of these (Makefile.{am,in}) are supposed to be used with make -f.

If the tarball already ships with configure, just run that and make. If it does not, run ./autogen.sh or bootstrap(*). If that does not exist, use autoreconf instead.

(*) autogen/bootstrap: A convenience script added by developers that should just call autoreconf. Unfortunately there are some people that eschew autoreconf and unnecessarily call all the lowlevel commands themselves.

answered 2010-11-22T02:48:53.353

Your Answer