bn/bn_lib.c: remove bn_check_top from bn_expand2.
[oweals/openssl.git] / util / domd
index 26dbebf82642ab9301150d3285d9b87a23018ca1..6eb019ea1672d7e482ec0496017c19b9084cc2bd 100755 (executable)
--- a/util/domd
+++ b/util/domd
@@ -6,20 +6,44 @@ TOP=$1
 shift
 if [ "$1" = "-MD" ]; then
     shift
-    MAKEDEPEND=$1
+    MAKEDEPEND=""
+    while [ "$1" != "--" ]; do
+        MAKEDEPEND="$MAKEDEPEND $1"
+        shift
+    done
     shift
 fi
 if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
 
-cp Makefile.ssl Makefile.save
-if [ "$MAKEDEPEND" = "gcc" ]; then
-    sed -e '/^# DO NOT DELETE.*/,$d' < Makefile.ssl > Makefile.tmp
+# Preserve Makefile timestamp by moving instead of copying (cp -p is GNU only)
+mv Makefile Makefile.save
+cp Makefile.save Makefile
+# fake the presence of Kerberos
+touch $TOP/krb5.h
+if expr "$MAKEDEPEND" : ".*makedepend" > /dev/null; then
+    ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
+    ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
+    RC=$?
+else
+    args=""
+    while [ $# -gt 0 ]; do
+       if [ "$1" != "--" ]; then args="$args $1"; fi
+       shift
+    done
+    sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
     echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
-    gcc -M $@ >> Makefile.tmp
-    perl $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
-    #cat Makefile.tmp > Makefile.new
+    ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
+    ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
+    RC=$?
+    rm -f Makefile.tmp
+fi
+if cmp -s Makefile.save Makefile.new; then
+    mv Makefile.save Makefile
+    rm -f Makefile.new
 else
-    ${MAKEDEPEND} -f Makefile.ssl $@
-    perl $TOP/util/clean-depend.pl < Makefile.ssl > Makefile.new
+    mv Makefile.new Makefile
 fi
-mv Makefile.new Makefile.ssl
+# unfake the presence of Kerberos
+rm $TOP/krb5.h
+
+exit $RC