This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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 +]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]