Simon Josefsson wrote: > I'm seeing some syntax-check warnings like this: > > lib/Makefile.am:623: DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ > src/Makefile.am:716: DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ > maint.mk: use $(...), not @...@ > make: *** [sc_makefile_at_at_check] Error 1 > > However the gettext 0.18.1 manual still recommends using the lines used > above. Should the gettext manual be updated, or are there valid > situations when @....@ is appropriate that maint.mk could detect?
If the maintainer was to write DEFS = -DLOCALEDIR=\"$(localedir)\" $(DEFS) it would be a circular definition, leading to this error with GNU make: Makefile:1: *** Recursive variable `DEFS' references itself (eventually). Stop. So the use of @...@ is not only appropriate here, it is even mandatory. Note that for packages that use a hand-written Makefile.am (as opposed to a hand-written Makefile.in), the gettext documentation [1] suggests to augment AM_CPPFLAGS instead of DEFS. Both work, AM_CPPFLAGS is just more modern style. Bruno [1] http://www.gnu.org/software/gettext/manual/html_node/src_002fMakefile.html -- In memoriam Siamanto <http://en.wikipedia.org/wiki/Siamanto>
