unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68545: warnings from GNU Make 3.81
@ 2024-01-17 18:50 Mattias Engdegård
  2024-01-17 19:20 ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Mattias Engdegård @ 2024-01-17 18:50 UTC (permalink / raw)
  To: 68545; +Cc: Po Lu

Building with GNU Make 3.81, which seems to be supported, gives the warnings

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C java bootstrap-clean
Makefile:157: warning: overriding commands for target `&'
Makefile:151: warning: ignoring old commands for target `&'
Makefile:168: warning: overriding commands for target `&'
Makefile:157: warning: ignoring old commands for target `&'
Makefile:296: warning: overriding commands for target `&'
Makefile:168: warning: ignoring old commands for target `&'

That version probably doesn't like '&'. Given that I'm not building anything in the java/ directory anyway, perhaps  that sub-make can be avoided altogether for platforms other than Android?







^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-17 18:50 bug#68545: warnings from GNU Make 3.81 Mattias Engdegård
@ 2024-01-17 19:20 ` Eli Zaretskii
  2024-01-18  0:50   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-01-17 19:20 UTC (permalink / raw)
  To: Mattias Engdegård, luangruo; +Cc: 68545

> Cc: Po Lu <luangruo@yahoo.com>
> From: Mattias Engdegård <mattias.engdegard@gmail.com>
> Date: Wed, 17 Jan 2024 19:50:13 +0100
> 
> Building with GNU Make 3.81, which seems to be supported, gives the warnings
> 
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C java bootstrap-clean
> Makefile:157: warning: overriding commands for target `&'
> Makefile:151: warning: ignoring old commands for target `&'
> Makefile:168: warning: overriding commands for target `&'
> Makefile:157: warning: ignoring old commands for target `&'
> Makefile:296: warning: overriding commands for target `&'
> Makefile:168: warning: ignoring old commands for target `&'
> 
> That version probably doesn't like '&'. Given that I'm not building anything in the java/ directory anyway, perhaps  that sub-make can be avoided altogether for platforms other than Android?

The &: feature was introduced in GNU Make 4.3, and we don't want to
force people to use such new versions.  So please find a different
solution for what you need to do there, one that doesn't require Make
newer than 3.81.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-17 19:20 ` Eli Zaretskii
@ 2024-01-18  0:50   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-18  6:19     ` Eli Zaretskii
  2024-01-18 11:22     ` Mattias Engdegård
  0 siblings, 2 replies; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-18  0:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Mattias Engdegård, 68545

Eli Zaretskii <eliz@gnu.org> writes:

> The &: feature was introduced in GNU Make 4.3, and we don't want to
> force people to use such new versions.  So please find a different
> solution for what you need to do there, one that doesn't require Make
> newer than 3.81.

This is a harmless warning message that doesn't affect the execution of
the `clean' target itself.  It's not necessary to address this or
support Make 3.81 for building the Android port, because Makefiles
provided by the Android.mk build system require versions of Make which
support group targets.

If suppressing the warning is still a concern, please try this patch:

diff --git a/java/Makefile.in b/java/Makefile.in
index 60bd2ea086b..af2989d8f3b 100644
--- a/java/Makefile.in
+++ b/java/Makefile.in
@@ -47,6 +47,7 @@ ANDROID_SDK_8_OR_EARLIER =
 WARN_JAVAFLAGS = @WARN_JAVAFLAGS@
 JAVAFLAGS = $(WARN_JAVAFLAGS) -classpath "$(ANDROID_JAR):$(srcdir)"
 FIND_DELETE = @FIND_DELETE@
+ANDROID = @ANDROID@
 
 # Android 4.3 and earlier require Emacs to be signed with a different
 # digital signature algorithm.
@@ -145,6 +146,7 @@ CROSS_ARCHIVES =
 
 .PHONY: $(CROSS_BINS) $(CROSS_LIBS) $(CROSS_ARCHIVES)
 
+ifeq ($(ANDROID),yes)
 # There should only be a single invocation of $(MAKE) -C
 # $(top_srcdir)/cross for each directory under $(top_srcdir)/cross.
 $(CROSS_SRC_BINS) $(CROSS_LIBS) &: $(CROSS_ARCHIVES)
@@ -269,6 +271,7 @@ emacs.apk-in:
 	  $(AAPT) add ../$@ `find lib -type f`;		\
 	popd &> /dev/null
 	$(AM_V_SILENT) rm -rf install_temp
+endif
 
 # Makefile itself.
 .PRECIOUS: $(top_srcdir)/config.status Makefile
@@ -291,6 +294,7 @@ $(RESOURCE_FILE):
 # Make all class files depend on R.java being built.
 $(CLASS_FILES): $(RESOURCE_FILE)
 
+ifeq ($(ANDROID),yes)
 .SUFFIXES: .java .class
 $(CLASS_FILES) &: $(JAVA_FILES)
 	$(AM_V_JAVAC) $(JAVAC) $(JAVAFLAGS) $(JAVA_FILES)
@@ -320,6 +324,7 @@ $(APK_NAME):
 # Signing must happen after alignment!
 	$(AM_V_SILENT) $(APKSIGNER) $(SIGN_EMACS_V2) $@
 	$(AM_V_SILENT) rm -f $@.unaligned *.idsig
+endif
 
 # TAGS generation.
 

Thanks.





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-18  0:50   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-18  6:19     ` Eli Zaretskii
  2024-01-18  6:45       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-18 11:22     ` Mattias Engdegård
  1 sibling, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-01-18  6:19 UTC (permalink / raw)
  To: Po Lu; +Cc: mattias.engdegard, 68545

> From: Po Lu <luangruo@yahoo.com>
> Cc: Mattias Engdegård <mattias.engdegard@gmail.com>,
>   68545@debbugs.gnu.org
> Date: Thu, 18 Jan 2024 08:50:41 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > The &: feature was introduced in GNU Make 4.3, and we don't want to
> > force people to use such new versions.  So please find a different
> > solution for what you need to do there, one that doesn't require Make
> > newer than 3.81.
> 
> This is a harmless warning message that doesn't affect the execution of
> the `clean' target itself.  It's not necessary to address this or
> support Make 3.81 for building the Android port, because Makefiles
> provided by the Android.mk build system require versions of Make which
> support group targets.

First, AFAIU the relevant Makefile target gets executed in non-Android
builds as well.

And second, if the Android build requires GNU Make >= 4.3, I think
this should be mentioned in java/INSTALL as a prerequisite, even if
the various other Android tools already require or provide such a new
version.

> If suppressing the warning is still a concern, please try this patch:

If Mattias says this solves the problem, please install this change.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-18  6:19     ` Eli Zaretskii
@ 2024-01-18  6:45       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-18  6:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: mattias.engdegard, 68545

Eli Zaretskii <eliz@gnu.org> writes:

> First, AFAIU the relevant Makefile target gets executed in non-Android
> builds as well.

Yes, but the warnings are generated by Make while _reading_ adjacent
targets within the same file, and do not affect the clean target itself.

> And second, if the Android build requires GNU Make >= 4.3, I think
> this should be mentioned in java/INSTALL as a prerequisite, even if
> the various other Android tools already require or provide such a new
> version.

OK, will do.

> If Mattias says this solves the problem, please install this change.

Thanks in advance.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-18  0:50   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-18  6:19     ` Eli Zaretskii
@ 2024-01-18 11:22     ` Mattias Engdegård
  2024-01-18 12:04       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 7+ messages in thread
From: Mattias Engdegård @ 2024-01-18 11:22 UTC (permalink / raw)
  To: Po Lu; +Cc: Eli Zaretskii, 68545

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

18 jan. 2024 kl. 01.50 skrev Po Lu <luangruo@yahoo.com>:

> If suppressing the warning is still a concern, please try this patch:

Thank you, but it still produces the warnings for `bootstrap-clean` and similar -clean targets. What about this change instead?


[-- Attachment #2: make.diff --]
[-- Type: application/octet-stream, Size: 702 bytes --]

diff --git a/Makefile.in b/Makefile.in
index 5f3227a9ad5..f0d5aa14e7a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -341,6 +341,7 @@ SUBDIR =
 
 ifeq ($(ANDROID),yes)
 SUBDIR := $(SUBDIR) java
+clean_java_dir = java
 endif
 
 # The subdir makefiles created by config.status.
@@ -1024,8 +1025,8 @@ mostlyclean: $(mostlyclean_dirs:
 ###      with them.
 ###
 ###      Delete '.dvi' files here if they are not part of the distribution.
-clean_dirs = $(mostlyclean_dirs) java cross nextstep admin/charsets \
-  admin/unidata
+clean_dirs = $(mostlyclean_dirs) $(clean_java_dir) cross nextstep \
+  admin/charsets admin/unidata
 
 $(foreach dir,$(clean_dirs),$(eval $(call submake_template,$(dir),clean)))
 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#68545: warnings from GNU Make 3.81
  2024-01-18 11:22     ` Mattias Engdegård
@ 2024-01-18 12:04       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-18 12:04 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: Eli Zaretskii, 68545

Mattias Engdegård <mattias.engdegard@gmail.com> writes:

> 18 jan. 2024 kl. 01.50 skrev Po Lu <luangruo@yahoo.com>:
>
>> If suppressing the warning is still a concern, please try this patch:
>
> Thank you, but it still produces the warnings for `bootstrap-clean`
> and similar -clean targets. What about this change instead?

I will investigate this tomorrow, but "make bootstrap-clean" _must_ be
executed in the `java' directory even when the Android build is not
selected, or files Autoconf generates there will not be erased.

Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-01-18 12:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-17 18:50 bug#68545: warnings from GNU Make 3.81 Mattias Engdegård
2024-01-17 19:20 ` Eli Zaretskii
2024-01-18  0:50   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-18  6:19     ` Eli Zaretskii
2024-01-18  6:45       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-18 11:22     ` Mattias Engdegård
2024-01-18 12:04       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).