From 89b397641efb984a860ad63075dd10d4960d213c Mon Sep 17 00:00:00 2001
From: Albert Graef <aggraef@gmail.com>
Date: Sat, 28 Jan 2017 12:12:21 +0100
Subject: [PATCH] Make sure that pd/src can still be compiled on its own.

---
 pd/src/makefile.in    | 13 +++++++++----
 pd/src/makefile.mingw |  8 +++++---
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/pd/src/makefile.in b/pd/src/makefile.in
index 70318c4f5..533dd3a6c 100644
--- a/pd/src/makefile.in
+++ b/pd/src/makefile.in
@@ -100,8 +100,10 @@ endif
 # AG: Pd-l2ork version number
 PD_L2ORK_VERSION := $(shell grep PD_L2ORK_VERSION m_pd.h | \
 	sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|' )
-PD_BUILD_VERSION := $(shell grep PD_BUILD_VERSION s_stuff.h | \
-	sed 's|^.define *PD_BUILD_VERSION *"\(.*\)".*|\1|' )
+# This is replicated from packages/Makefile.buildlayout. XXXFIXME: Right now
+# you have to manually keep these two definitions in sync; if you edit one of
+# them, you should also edit the other.
+PD_BUILD_VERSION := $(shell git log -1 --format=%cd --date=short | sed -e 's/-//g')-rev.$(shell git rev-parse --short HEAD)
 
 #
 #  ------------------ targets ------------------------------------
@@ -241,7 +243,7 @@ extra-clean:
 clean: extra-clean local-clean
 
 distclean: clean
-	-rm -f config.cache config.log config.status makefile tags \
+	-rm -f s_stuff.h config.cache config.log config.status makefile tags \
 		autom4te.cache/output.* autom4te.cache/traces.* autom4te.cache/requests
 	-rmdir autom4te.cache
 	-rm -rf autom4te-*.cache
@@ -250,9 +252,12 @@ tags: $(SRC); ctags *.[ch]
 
 depend: makefile.dependencies
 
-makefile.dependencies: makefile
+makefile.dependencies: makefile s_stuff.h
 	$(CC) $(CPPFLAGS) -M $(SRC) > makefile.dependencies
 
+s_stuff.h: s_stuff.h.in
+	sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' $< > $@
+
 uninstall:
 	rm -f -r $(DESTDIR)$(libpddir)
 	rm -f $(DESTDIR)$(bindir)/@PDEXEC@
diff --git a/pd/src/makefile.mingw b/pd/src/makefile.mingw
index 1dba6162a..15cc05295 100755
--- a/pd/src/makefile.mingw
+++ b/pd/src/makefile.mingw
@@ -151,8 +151,7 @@ endif
 # AG: Pd-l2ork version number
 PD_L2ORK_VERSION := $(shell grep PD_L2ORK_VERSION m_pd.h | \
 	sed 's|^.define *PD_L2ORK_VERSION *"\(.*\)".*|\1|' )
-PD_BUILD_VERSION := $(shell grep PD_BUILD_VERSION s_stuff.h | \
-	sed 's|^.define *PD_BUILD_VERSION *"\(.*\)".*|\1|' )
+PD_BUILD_VERSION := $(shell git log -1 --format=%cd --date=short | sed -e 's/-//g')-rev.$(shell git rev-parse --short HEAD)
 
 
 #
@@ -166,6 +165,9 @@ all: config.h $(PDDLL) $(PDEXEC) pdsend.exe pdreceive.exe pd.com externs
 config.h: config.h.in
 	cp config.h.in config.h
 
+s_stuff.h: s_stuff.h.in
+	sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' $< > $@
+
 $(OBJ) : %.o : %.c
 	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $*.o $*.c 
 
@@ -323,7 +325,7 @@ clean:
 	-rm -f makefile.dependencies
 
 distclean: clean
-	rm -rf -- config.cache config.log config.status makefile tags \
+	rm -rf -- s_stuff.h config.cache config.log config.status makefile tags \
 	     autom4te-*.cache
 
 tags: $(SRC) $(GSRC); ctags *.[ch]
-- 
GitLab