GNOME Bugzilla – Bug 172212
Cannot create gnm-marshalers.lo, with a historic make
Last modified: 2005-03-31 12:40:19 UTC
The build fails in subdir src/, complaining that there is no rule to create gnm-marshalers.lo . This problem doesn't appear with GNU make. (Actually, I have never experienced this bug, I just noticed a problem in src/Makefile.am. See below for an explanation.)
To get gnm-marshalers.lo, make has to chain two implicit rules: .list.c: .c.lo: Though POSIX make implementations are supposed to be able to do it, some historic make implementations have problems here.
A general solution to this problem is to write another implicit rule for .list.lo: But we don't have to bother with this. It is sufficient to add the file gnm-marshalers.c to the special hint variable BUILT_SOURCES. (This hack also fixes bug #172211.)
I have found another solution: If you mention gnm-marshalers.c as a prerequisite of a rule, like this: gnm-marshalers-dummy: gnm-marshalers.c then the historic make is able to chain the two implicit rules. I have verified this on OSF1 V4.0, which is my "historic make". I hope it'll help with other historic implementations, too. So this seems to be the most elegant solution to both this bug and bug #172211.