about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile17
1 files changed, 17 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 039e3c90bd..014b581c45 100644
--- a/Makefile
+++ b/Makefile
@@ -129,6 +129,23 @@ $(objpfx)sysd-dirs: $(+sysdir_pfx)config.make
 	 echo endef) > $@-tmp
 	 mv -f $@-tmp $@
 
+$(objpfx)version-info.h: $(..)Makefile $(+sysdir_pfx)config.make
+	(first=yes;                                                           \
+	 for dir in $(subdirs); do                                            \
+	   if [ -r $$dir/Banner ]; then                                       \
+	     if [ $$first = yes ]; then                                       \
+	       echo "\"Available extensions:";                                \
+	       first=no;                                                      \
+	     fi;                                                              \
+	     sed -e '/^#/d' -e 's/^[[:space:]]*/	/' $$dir/Banner;    \
+	   fi;                                                                \
+	 done;                                                                \
+	 [ $first = yes ] || echo "\"") > $@-tmp
+	 mv -f $@-tmp $@
+
+version.c-objects := $(addprefix $(objpfx)version,$(object-suffixes))
+$(version.c-objects): $(objpfx)version-info.h
+
 # Makerules creates a file `stub-$(subdir)' for each subdirectory, which
 # contains `#define __stub_FUNCTION' for each function which is a stub.
 # Here we paste all of these together into <stubs.h>.