Don't use $< in target rules in makefiles (backport from trunk)
authorPeter Maydell <pmaydell@chiark.greenend.org.uk>
Tue, 20 May 2008 19:13:30 +0000 (19:13 +0000)
committerPeter Maydell <pmaydell@chiark.greenend.org.uk>
Tue, 20 May 2008 19:13:30 +0000 (19:13 +0000)
ChangeLog
config/Makefile.in
sbr/Makefile.in

index 7a1437b..28d2b78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-20  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
+
+       * sbr/Makefile.in, config/Makefile.in: Don't use $<
+       in target rules in makefiles, as POSIX says it's only
+       defined in inference rules. (Ported from trunk.)
+
 2008-05-04  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
 
        * Released nmh-1.3 RC2.
index 482bca2..aba161b 100644 (file)
@@ -58,7 +58,7 @@ version.c:
        ${srcdir}/version.sh $(VERSION) > version.c
 
 config.o: config.c
-       $(COMPILE2) $<
+       $(COMPILE2) $(srcdir)/config.c
 
 install:
 
index 2927e3c..a920958 100644 (file)
@@ -101,16 +101,18 @@ sigmsg.h: sigmsg.awk
 lint: sigmsg.h
        $(LINT) $(LINTFLAGS) $(INCLUDES) $(DEFS) $(SRCS)
 
-# Note that some lexes (for example flex 2.5.4) require that there
-# be no space between -o and the output filename.
+# Note that not all lexes support -o (it is not POSIX); also
+# some lexes will only accept '-n -t', not '-nt'.
+# Also, not all makes accept $< in non-pattern rules,
+# hence the explicit filenames here.
 dtimep.c: dtimep.lex
-       $(LEX) -o$@ $<
+       $(LEX) -n -t $(srcdir)/dtimep.lex > dtimep.c
 
 client.o: client.c
-       $(COMPILE2) $<
+       $(COMPILE2) $(srcdir)/client.c
 
 mts.o: mts.c
-       $(COMPILE2) $<
+       $(COMPILE2) $(srcdir)/mts.c
 
 pidstatus.o: sigmsg.h