]> git.sur5r.net Git - openldap/blobdiff - build/mkdep
printf(%ld, pid) -> printf(%ld, (long)pid)
[openldap] / build / mkdep
index 102b932ebc2c45773f1e2c30fa7c2e1a9b35ad34..852e7e636b698f1c63808e5f5b2f063424af8208 100755 (executable)
@@ -26,6 +26,7 @@ set -e                                # exit immediately if any errors occur
 MAKE=Makefile                  # default makefile name is "Makefile"
 NOSLASH="no"                   # by default, / dependencies are included
 CC=${CC-cc}                            # default compiler is cc
+: ${CC_MKDEP_FLAGS="-M"}       # cc -M usually produces dependencies
 SRCDIR=""
 SED=cat
 
@@ -127,22 +128,26 @@ cat << _EOF_ >> $TMP
 
 _EOF_
 
-$CC -M $files | \
+$CC $CC_MKDEP_FLAGS $files | \
        sed -e 's; \./; ;g' | \
        $SED | \
 awk '
 $1 ~ /:/ {
-       filenm=$1
-       dep=$2
+       filenm=$1;
+       dep=substr($0, length(filenm)+1);
 }
 $1 !~ /:/ {
-       dep=$1
+       dep=$0;
 }
 /.*/ {
-       if (( noslash == "yes") && (dep ~ /^\// )) next
-       if ( length(dep) < 2 ) next
-       rec = filenm " " dep;
-       print rec;
+       split(dep, depends, " ");
+       for(d in depends) {
+               dfile = depends[d];
+               if (( noslash == "yes") && (dfile ~ /^\// )) next
+               if ( length(dfile) < 2 ) continue
+               rec = filenm " " dfile;
+               print rec;
+       }
     }
 ' noslash="$NOSLASH" >> $TMP