This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[RFA] trailing backslash in top-level Makefile
- From: Jerome Guitton <guitton at adacore dot com>
- To: gdb-patches at sourceware dot org, gcc-patches at gcc dot gnu dot org, binutils at sourceware dot org
- Date: Tue, 2 Jun 2009 18:33:56 +0200
- Subject: [RFA] trailing backslash in top-level Makefile
The top-level Makefile.in may generate a trailing backslash at the end
of the target "all" (if gcc-bootstrap is false). Something like that:
[...]
all:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
.PHONY: all-build
[...]
On most system, that's fine. However, this is rejected by some shells.
For example, the system bash on some solaris systems:
ostende% bash --version
GNU bash, version 2.03.0(1)-release (sparc-sun-solaris)
Copyright 1998 Free Software Foundation, Inc.
> bash -c "ls \\"
bash: -c: line 2: syntax error: unexpected end of file
The patch in attachment would fix the problem. It's a little bit ugly
though. "echo" is used as a "nop". Would someone have a better idea to fix
the problem?
2009-06-02 Jerome Guitton <guitton@adacore.com>
* Makefile.tpl: Remove a trailing backslash.
* Makefile.in: Regenerate.
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/Makefile.in,v
retrieving revision 1.302
diff -u -r1.302 Makefile.in
--- Makefile.in 2 Jun 2009 08:23:45 -0000 1.302
+++ Makefile.in 2 Jun 2009 15:18:31 -0000
@@ -859,11 +859,11 @@
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
else \
@endif gcc-bootstrap
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target ; \
@if gcc-bootstrap
- ; \
fi
@endif gcc-bootstrap
+ echo
.PHONY: all-build
Index: Makefile.tpl
===================================================================
RCS file: /cvs/src/src/Makefile.tpl,v
retrieving revision 1.206
diff -u -r1.206 Makefile.tpl
--- Makefile.tpl 2 Jun 2009 08:23:45 -0000 1.206
+++ Makefile.tpl 2 Jun 2009 15:18:38 -0000
@@ -625,11 +625,11 @@
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
else \
@endif gcc-bootstrap
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target ; \
@if gcc-bootstrap
- ; \
fi
@endif gcc-bootstrap
+ echo
.PHONY: all-build
[+ FOR build_modules +]