Hello!

I have been looking into the build system quite a bit (I might be trying
to integrate compat into the project).

These patches are very boring and don't really change much.  Enjoy!

>From a54336e9fbdf0aacf144b544a8d834ca6f9dcf05 Mon Sep 17 00:00:00 2001
From: Morgan Smith <[email protected]>
Date: Mon, 11 May 2026 20:24:40 -0400
Subject: [PATCH 1/5] doc/Makefile: Replace empty pattern match

Empty pattern match targets can match anything.  This might lead to
confusing behavior, so we shall be a little more specific.

* doc/Makefile (info): Make the pattern match only match ".info" files
and adjust the targets to match.
---
 doc/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/doc/Makefile b/doc/Makefile
index f0e89884a..0a56dbdd9 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -7,7 +7,7 @@ endif
 
 all:		$(ORG_MAKE_DOC)
 
-info:		org orgguide
+info:		org.info orgguide.info
 
 html:		org.html orgguide.html
 
@@ -60,7 +60,7 @@ org-version.tex:	orgcard.tex
 	@printf "\def\\\\versionyear{$(YEAR)}\n" >> org-version.tex
 	@printf "\def\year{$(YEAR)}\n" >> org-version.tex
 
-install:	org orgguide
+install:	org.info orgguide.info
 	if [ ! -d $(DESTDIR)$(infodir) ]; then $(MKDIR) $(DESTDIR)$(infodir); else true; fi ;
 	$(CP) org.info $(DESTDIR)$(infodir)
 	$(CP) orgguide.info $(DESTDIR)$(infodir)
@@ -82,8 +82,8 @@ clean-install:
 
 .SUFFIXES:	.texi .tex .txt _letter.tex
 
-%:		%.texi org-version.inc
-	$(MAKEINFO) --no-split $< -o [email protected]
+%.info:		%.texi org-version.inc
+	$(MAKEINFO) --no-split $< -o $@
 
 # the following two lines work around a bug in some versions of texi2dvi
 %.pdf:		LC_ALL=C

base-commit: 5f8fe990ee539b12d2af4d433ba3f8137c64b671
-- 
2.54.0

>From 55d72fc5449b013f7f982f9fb341ac72386ffcf1 Mon Sep 17 00:00:00 2001
From: Morgan Smith <[email protected]>
Date: Mon, 11 May 2026 21:08:45 -0400
Subject: [PATCH 2/5] lisp/Makefile: Remove reference to long deleted file

* lisp/Makefile (LISPB): Remove reference to "org-install.el" as that
was removed in commit ea05f4343.
---
 lisp/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/Makefile b/lisp/Makefile
index 111d62d4c..984d44893 100644
--- a/lisp/Makefile
+++ b/lisp/Makefile
@@ -6,7 +6,7 @@ endif
 LISPV 	:= org-version.el
 LISPI 	:= org-loaddefs.el
 LISPA 	:= $(LISPV) $(LISPI)
-LISPB 	:= $(LISPA:%el=%elc) org-install.elc
+LISPB 	:= $(LISPA:%el=%elc)
 LISPF 	:= $(filter-out $(LISPA),$(sort $(wildcard *.el)))
 LISPC 	:= $(filter-out $(LISPB) $(LISPN:%el=%elc),$(LISPF:%el=%elc))
 LISPN 	:= $(filter-out $(LISPB) $(LISPN:%el=%eln),$(LISPF:%el=%eln))
-- 
2.54.0

>From 84d8a47b80a434945ecd2c458a0cd5958ec54bdb Mon Sep 17 00:00:00 2001
From: Morgan Smith <[email protected]>
Date: Mon, 11 May 2026 21:44:26 -0400
Subject: [PATCH 3/5] mk/targets.mk: Make githooks target more robust

* mk/targets.mk: Generate from the list of githook files from the
"git-hooks" directory.  Create the installation directory if it does
not already exist.
---
 mk/targets.mk | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mk/targets.mk b/mk/targets.mk
index cedde0522..a8bec6813 100644
--- a/mk/targets.mk
+++ b/mk/targets.mk
@@ -10,7 +10,7 @@ INSTSUB       = $(SUBDIRS:%=install-%)
 ORG_MAKE_DOC ?= info html pdf
 
 GITDIR        = .git/hooks
-GITHOOKS      = commit-msg commit-msg-files.awk post-commit pre-commit prepare-commit-msg pre-push
+GITHOOKS      = $(notdir $(wildcard git-hooks/*))
 
 ifneq ($(wildcard .git),)
   # Use the org.el header.
@@ -133,8 +133,11 @@ autoloads: lisp
 repro: cleanall autoloads
 	-@$(REPRO) &
 
+$(GITDIR):
+	mkdir -p "$@"
+
 # Implicit rule to copy Git hooks in
-$(GITDIR)/%: git-hooks/%
+$(GITDIR)/%: git-hooks/% | $(GITDIR)
 	cp -f $< $@
 
 githooks: $(addprefix $(GITDIR)/,$(GITHOOKS))
-- 
2.54.0

>From 00eba43177789faa9ccbbb300ed1395f3c15064e Mon Sep 17 00:00:00 2001
From: Morgan Smith <[email protected]>
Date: Mon, 18 May 2026 23:14:16 -0400
Subject: [PATCH 4/5] Makefile: Remove default suffix rules

We don't use the default rules and they produce very verbose output
when running "make -d" to debug rules.

* Makefile (.SUFFIXES): Set to empty.
---
 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 1f93dc6d3..813125625 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,8 @@
 #
 # This file is not part of GNU Emacs
 
+.SUFFIXES:	# we don't need default suffix rules
+
 # set up environment
  include mk/default.mk	# defaults, customizable via "local.mk"
 -include local.mk	# optional local customization, use default.mk as template
-- 
2.54.0

>From c76069d63d171df0ae9ed186f8bd905ecc07f3b5 Mon Sep 17 00:00:00 2001
From: Ihor Radchenko <[email protected]>
Date: Sun, 2 Apr 2023 14:05:22 +0200
Subject: [PATCH 5/5] mk: Echo main compilation states when running make

* lisp/Makefile (all compile compile-dirty):
($(LISPV)):
($(LISPI)): Echo compile stage.
---
 lisp/Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/Makefile b/lisp/Makefile
index 984d44893..32739f8de 100644
--- a/lisp/Makefile
+++ b/lisp/Makefile
@@ -20,6 +20,7 @@ _ORGCM_ := dirall single native source slint1 slint2
 
 # do not clean here, done in toplevel make
 all compile compile-dirty::	 autoloads
+	@$(info ========= Compiling lisp files using '$(ORGCM)' target)
 ifeq ($(filter-out $(_ORGCM_),$(ORGCM)),)
 	$(MAKE) compile-$(ORGCM)
 else
@@ -59,12 +60,14 @@ slint1:
 autoloads:	cleanauto $(LISPI) $(LISPV)
 
 $(LISPV):	$(LISPF)
-	@echo "org-version: $(ORGVERSION) ($(GITVERSION))"
+	@$(info ========= Auto-generating Org version number)
+	@$(info org-version: $(ORGVERSION) ($(GITVERSION)))
 	@$(RM) $(@)
 	@$(MAKE_ORG_VERSION)
 
 $(LISPI):	$(LISPV) $(LISPF)
-	@echo "org-loaddefs: $(ORGVERSION) ($(GITVERSION))"
+	@$(info ========= Auto-generating Org loaddefs)
+	@$(info org-loaddefs: $(ORGVERSION) ($(GITVERSION)))
 	@$(RM) $(@)
 	@$(MAKE_ORG_INSTALL)
 
-- 
2.54.0

Reply via email to