I am not a very experienced Make programmer.
Recently I set up what I thought to be a fairly complicated recursive
makefile. One of the constraints put upon me was, "I want to
be able to type make at the command line, and it makes the sim." I
did this, but due to the recursive nature of the makefile, it didn't work
unless the makefile was named one of the default names. To allow
it to work with the -f flag, I added a line in at the beginning:
makeName = $(word,1,$(MAKEFILE_LIST))
to get the name of the makefile invoked.
This works great. We use this makefile on a Xeon cluster, an
Opteron cluster, and a Mac osX cluster with no problem. The issue
that I have is with my Sparc cluster.
First off, the sparc cluster is different
than the others. It needs to have the sun development stuff for some
other programs, so the gnu stuff is all under g-command, ie, gmake. Well,
I set variables like this all up in an environmental file that is included
at the beginning, and it calls the proper versions of g77, gcc, gnat, and
so forth.
After getting all this set up, it still
wasn't working, and it is because MAKEFILE_LIST isn't being populated.
As a test, I tried:
gmake target MAKEFILE_LIST=GNUmakefile
and it works fine.
Is there another way get the name of
the -f option?
Is there a different solution that I
haven't thought about?
Is this because I have ver 3.79.1 for
sparc-sun-solaris2.8 and ver 3.8 on my other boxes?
I am not subscribed to the list, so
please cc me if you respond.