Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Stephen Henson via RT wrote: [philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]: Stephen Henson via RT wrote: There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. The '@' command for quiet has been standard in Make going back to (at least) 4.3BSD (circa 1983). It could always be bracketed by a test for non-compliant OSes... It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
On Mon, 29 Jun 2009, Philip A. Prindeville wrote: Stephen Henson via RT wrote: It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip It is easy to understand if you try it on a make other than GNU make. Using your original post as an example: - $ cat Makefile QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 4 (bu39). $ gmake done $ - -- Tim RiceMultitalents t...@multitalents.net __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
On Mon, 29 Jun 2009, Philip A. Prindeville wrote: Stephen Henson via RT wrote: It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip It is easy to understand if you try it on a make other than GNU make. Using your original post as an example: - $ cat Makefile QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 4 (bu39). $ gmake done $ - -- Tim RiceMultitalents t...@multitalents.net __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Tim Rice via RT wrote: On Mon, 29 Jun 2009, Philip A. Prindeville wrote: Stephen Henson via RT wrote: It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip It is easy to understand if you try it on a make other than GNU make. Using your original post as an example: - $ cat Makefile QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 4 (bu39). $ gmake done $ - Right, so on a non-GNU make system, you'd never build with QUIET=y... the Configure script should be able to take care of that. I'm still not understanding what the problem is. -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Tim Rice via RT wrote: On Mon, 29 Jun 2009, Philip A. Prindeville wrote: Stephen Henson via RT wrote: It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip It is easy to understand if you try it on a make other than GNU make. Using your original post as an example: - $ cat Makefile QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 4 (bu39). $ gmake done $ - Right, so on a non-GNU make system, you'd never build with QUIET=y... the Configure script should be able to take care of that. I'm still not understanding what the problem is. -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
On Tue, 30 Jun 2009, Philip Prindeville via RT wrote: Tim Rice via RT wrote: On Mon, 29 Jun 2009, Philip A. Prindeville wrote: Stephen Henson via RT wrote: It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip It is easy to understand if you try it on a make other than GNU make. Using your original post as an example: - $ cat Makefile QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 4 (bu39). $ gmake done $ - Right, so on a non-GNU make system, you'd never build with QUIET=y... the Configure script should be able to take care of that. I'm still not understanding what the problem is. So are you proposing something like . $ cat Makefile QUIET= ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 3 (bu39). . Or without QUIET= . $ cat Makefile ifeq ($(QUIET),y) Q:=@ else Q:= endif all: $(Q)echo done $ make UX:make: ERROR: Must be a separator on rules line 3 (bu39). $ . Please provide a working example. -Philip -- Tim RiceMultitalents t...@multitalents.net __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
I think there might be some distracting issues here. I tried this sample makefile on some non-GNU makes, and at least one I found was unhappy with two different elements of the sample, neither of which was $(Q)echo. A current non-GNU version of make on Solaris handled the provided sample Makefile just fine, and correctly managed the QUIET mode as intended. But I found an old make from 1997 on a local Solaris system. It didn't recognize the ifeq syntax for conditional logic in a makefile. Interestingly, it reported an error on line 4, not line 3, which means it saw the newline and bumped the line counter before reporting that it couldn't deal with what it saw. I removed the ifeq logic and left just a Q:=@ line, and that same make was unhappy with the := syntax for assigning to a Makefile variable. (Yes, it's that old.) When I changed this to Q=@ the 12-year-old version of Solaris make was happy: when it saw $(Q)echo it acted like it had seen @echo which is what the Makefile writer intended. What I'm saying is (1) you can't always trust line numbers of error reports from make to be specific, and (2) your make program might not be objecting to what you think it is, and (3) different people's makes might work with or reject that input file differently. -- Allan Pratt, apr...@us.ibm.com Rational software division of IBM __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
[philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]: Stephen Henson via RT wrote: There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. The '@' command for quiet has been standard in Make going back to (at least) 4.3BSD (circa 1983). It could always be bracketed by a test for non-compliant OSes... It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Stephen Henson via RT wrote: [philipp_s...@redfish-solutions.com - Mon Mar 09 18:21:52 2009]: Stephen Henson via RT wrote: There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. The '@' command for quiet has been standard in Make going back to (at least) 4.3BSD (circa 1983). It could always be bracketed by a test for non-compliant OSes... It's not the @ command which might be non-portable IMHO but the expansion of $(Q) into @. I guess I still don't understand the issue. On the platforms that don't support this, it could be left undefined or set to the empty string... -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Stephen Henson via RT wrote: [philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]: When doing a version bump on distros (especially distros that may have required some patching to accommodate this package), the silent death of commands that run and fail without emitting any output makes it especially difficult to figure out what died and why. I'd recommend using something like: QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif in the makefiles, and allowing one to override QUIET from the command line. There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. The '@' command for quiet has been standard in Make going back to (at least) 4.3BSD (circa 1983). It could always be bracketed by a test for non-compliant OSes... -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
[philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]: When doing a version bump on distros (especially distros that may have required some patching to accommodate this package), the silent death of commands that run and fail without emitting any output makes it especially difficult to figure out what died and why. I'd recommend using something like: QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif in the makefiles, and allowing one to override QUIET from the command line. There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
Stephen Henson via RT wrote: [philipp_s...@redfish-solutions.com - Mon Jan 26 12:00:57 2009]: When doing a version bump on distros (especially distros that may have required some patching to accommodate this package), the silent death of commands that run and fail without emitting any output makes it especially difficult to figure out what died and why. I'd recommend using something like: QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif in the makefiles, and allowing one to override QUIET from the command line. There have been some concerns expressed in the mailing list about how portable this is to the many version of 'make' it has to work with. Steve. The '@' command for quiet has been standard in Make going back to (at least) 4.3BSD (circa 1983). It could always be bracketed by a test for non-compliant OSes... -Philip __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
When doing a version bump on distros (especially distros that may have required some patching to accommodate this package), the silent death of commands that run and fail without emitting any output makes it especially difficult to figure out what died and why. I'd recommend using something like: QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif in the makefiles, and allowing one to override QUIET from the command line. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1821] Extensive use of @commands in Makefile makes troubleshooting challenging
On Mon, 26 Jan 2009, Philip Prindeville via RT wrote: When doing a version bump on distros (especially distros that may have required some patching to accommodate this package), the silent death of commands that run and fail without emitting any output makes it especially difficult to figure out what died and why. I'd recommend using something like: Nice idea. Now if you can only make it portable. It needs to work with the system makes for all the platforms that OpenSSL supports. QUIET=y ifeq ($(QUIET),y) Q:=@ else Q:= endif in the makefiles, and allowing one to override QUIET from the command line. -- Tim RiceMultitalents(707) 887-1469 t...@multitalents.net __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org