]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/fix-gnulib.pl
fix-gnulib: Handle MOSTLYCLEANDIRS.
[dxcommon.git] / scripts / fix-gnulib.pl
index 85ae6321980e743632f2e3c911e3b2314f460139..8b61163a0f1459f28688d1bc958bf343d74d1f20 100755 (executable)
@@ -138,6 +138,10 @@ gnulib_orderonly = $(gnulib_have_orderonly:order-only=|)
 gnulib_core_headers =
 gnulib_raw_headers = $(gnulib_core_headers)
 gnulib_headers = $(gnulib_orderonly) $(gnulib_raw_headers)
+
+# Oddly, gnulib tries to add to MOSTLYCLEANDIRS (which is *not* an automake
+# variable) without defining it.
+MOSTLYCLEANDIRS =
 EOF
 
                $printed_header = 1;
@@ -193,12 +197,17 @@ EOF
                $_ = mangle_target($_);
        }
 
+       # MKDIR_P commands need to be fixed up; in principle Gnulib could also
+       # be patched here to use $(@D) instead (and thus automatically benefit
+       # from the target being fixed up), but this will do for now.
+       s/^(\t.*\$\(MKDIR_P\)) ([[:alnum:]]+)$/\1 lib\/\2/;
+
        # When using conditional-dependencies, *CLEANFILES can end up
        # depending on the configuration.  This means that "make distclean"
        # may not actually delete everything if the configuration changes
        # after building the package.  Stash all the variables for later so
        # they can be moved outside of any conditional.
-       if (/CLEANFILES/) {
+       if (/(CLEANFILES|CLEANDIRS)[[:space:]]*\+=/) {
                push(@cleanfiles, $_);
                drop;
        }