Improved method of generating POTFILES.in
[pspp-builds.git] / Smake
diff --git a/Smake b/Smake
index 00ae6ca7e42aa1fa30b3cdc272e3d1675b2ad1fc..c89247cb2f3833cb123e28ad6a08028985699727 100644 (file)
--- a/Smake
+++ b/Smake
@@ -1,4 +1,4 @@
-Makefile po/Makefile.in: Makefile.in configure install-sh config.h.in po/Makefile.in.in
+Makefile po/Makefile.in: Makefile.in configure install-sh config.h.in po/Makefile.in.in po/POTFILES.in
        ./configure
 
 configure:  configure.ac aclocal.m4
@@ -10,6 +10,19 @@ config.h.in: configure.ac
 aclocal.m4:
        aclocal -I m4
 
+# We want all src/*.c files which do not have corresponding src/*.q
+
+src_q_files=$(wildcard src/*.q)
+src_c_files=$(wildcard src/*.c)
+src_cq_files=$(patsubst %.q, %.c, $(src_q_files))
+src_files=$(filter-out $(src_cq_files), $(src_c_files)) $(src_q_files)
+
+
+.PHONY: po/POTFILES.in
+po/POTFILES.in: 
+       @$(RM) po/potfile-temp
+       for f in $(src_files) ; do echo $$f >> po/potfile-temp ; done
+       @if ( ! test -e $@ ) || ( ! diff  -q po/potfile-temp $@ ) ; then  mv po/potfile-temp $@ ; else $(RM) po/potfile-temp ; fi
 
 install-sh Makefile.in: intl Makefile.am aclocal.m4 config.h.in ABOUT-NLS
        automake --add-missing
@@ -45,6 +58,7 @@ clean:
        po/Makefile.in \
        po/Makefile.in.in \
        po/POTFILES \
+       po/POTFILES.in \
        po/Rules-quot \
        po/boldquot.sed \
        po/cat-id-tbl.c \