(glibc-io.struct): New target. Rework the code
authorJim Meyering <jim@meyering.net>
Wed, 4 Jul 2001 21:16:03 +0000 (21:16 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 4 Jul 2001 21:16:03 +0000 (21:16 +0000)
that generates jm-glibc-io.m4 so that it doesn't trigger any make
distcheck failure.

m4/Makefile.am.in

index 36a4da4e654e3a0a2fcf9ecdbb92e6318a2231af..241abdabcbb15742155c0b2e8e48184438326f45 100644 (file)
@@ -6,13 +6,15 @@
 Makefile.am: Makefile.am.in
        rm -f $@ $@t
        sed -n '1,/^##m4-files-begin/p' $< > $@t
-       ((echo EXTRA_DIST = README jm-glibc-io.m4n Makefile.am.in|tr '\012' @);\
+       (((echo EXTRA_DIST =; \
+          echo "  README jm-glibc-io.m4 jm-glibc-io.m4n Makefile.am.in" \
+         ) | tr '\012' @); \
          (echo *.m4|tr ' ' @) ) \
          |sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \
          >> $@t
        sed -n '/^##m4-files-end/,$$p' $< >> $@t
        echo >> $@t
-       echo all-local: jm-glibc-io.m4 >> $@t
+       echo all-local: glibc-io.stamp >> $@t
        chmod a-w $@t
        mv $@t $@
 
@@ -24,14 +26,27 @@ unlocked_functions = \
 
 comma_separated = $(shell echo $(unlocked_functions)|tr -s ' ' ,)
 base_functions = $(patsubst %_unlocked,%,$(unlocked_functions))
-jm-glibc-io.m4: jm-glibc-io.m4n Makefile
-       echo 'dnl This file is automatically generated from $<' > $@t
-       echo '' >> $@t
-       sed                                                     \
-         -e 's/@space_separated@/$(unlocked_functions)/g'      \
-         -e 's/@comma_separated@/$(comma_separated)/g'         \
-         $< >> $@t
-       move-if-change $@t $@
+
+# Don't depend directly on jm-glibc-io.m4, because that would cause it
+# to be created in non-srcdir==. builds, and that leads to problems with
+# distcheck.  Note also that we can't add it to DISTCLEANFILES for similar
+# reasons.
+glibc-io.stamp: jm-glibc-io.m4n Makefile
+       if test `pwd` = `cd $(srcdir); pwd`; then                       \
+         t=jm-glibc-io.m4;                                             \
+         src=$(srcdir)/jm-glibc-io.m4n;                                \
+         echo "dnl This file is automatically generated from $${t}n."  \
+           > $${t}t;                                                   \
+         echo '' >> $${t}t;                                            \
+         sed                                                           \
+           -e 's/@space_separated@/$(unlocked_functions)/g'            \
+           -e 's/@comma_separated@/$(comma_separated)/g'               \
+           $$src >> $${t}t;                                            \
+         move-if-change $${t}t $$t;                                    \
+       fi
+       touch $@
+
+DISTCLEANFILES = glibc-io.stamp
 
 unlocked-io.h: unlocked-io.hin Makefile.am.in
        tmp=t$$$$;                                                      \