Hi,

it's been pointed out to me that GNU make documentation of old-fashioned
suffix rules say

:    Suffix rules cannot have any prerequisites of their own.  If they
: have any, they are treated as normal files with funny names, not as
: suffix rules.  Thus, the rule:
: 
:      .c.o: foo.h
:              $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
: 
: tells how to make the file '.c.o' from the prerequisite file 'foo.h',

Nettle's Makefile.in has a rule

  .asm.$(OBJEXT): $(srcdir)/asm.m4 machine.m4 config.m4

which is broken according to these docs. I haven't seen any problems in
practice (not entirely sure why), but it reportedly fails with some GNU
make prerelease.

To change this to a %-pattern rule, I wonder: Should we just drop
support for non-GNU make programs?

Requiring GNU make makes a few things easier: We can use %-patterns
everywhere. We can use -include unconditionally for dep-files, dropping the
@DEP_INCLUDE@ variable and the dummy-dep-files configure step. We can
most likely also drop all logic for the testsuite/.test-rules.make file.

Current status of make compatibility is that it's supposed to work with
Solaris make (but likely not tested for a long time), and it should
kind-of work with BSD make, provided one configures with
--disable-dependency-tracking.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.

_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to