Hello Murray, * Murray S. Kucherawy wrote on Tue, Jul 21, 2009 at 05:44:48PM CEST: > sbin_PROGRAMS = openfoo openfoo-util1 openfoo-util2 > > One of the source files for "openfoo" is a file called "stats.c".
> if STATS > sbin_PROGRAMS += openfoo-stats > openfoo_stats_SOURCES = openfoo-db.c openfoo-stats.c > endif > > There are indeed two different source files in the package, one called > "openfoo-stats.c" (used by openfoo-stats) and one called "stats.c" > (used by openfoo). > > Running "automake" causes this complaint: > > openfoo/Makefile.am: object `openfoo-stats.$(OBJEXT)' created by > `openfoo-stats.c' and `stats.c' > > I thought maybe this has to do with filename similarity. Indeed > renaming the files, even by removing the hyphens, solves the problem. The reason for this can be found in info Automake "Per-Object Flags" and the previous node. > Is this something I can mitigate without renaming files in my package? You can add something like openfoo_stats_CPPFLAGS = $(AM_CPPFLAGS) as described for a related issue in info Automake "Objects created both with libtool and without" > Also, just to confirm, this is something I can safely ignore, correct?: That would only be correct if you never intend to have your package built with a compiler that does not grok the flags "-c -o" together. These are primarily found on older platforms, and with some MSVC uses on w32 (I recommend using a wrapper that avoids this issue). > libfoo/Makefile.am:2: compiling `foo.c' with per-target flags requires > `AM_PROG_CC_C_O' in `configure.ac' > > Adding that to my "configure.ac" as it suggests doesn't make the problem go > away. It should, after you have regenerated all autotools files afterwards. Cheers, Ralf