Make "make depend" work on MacOS out of the box.
[openssl.git] / util / domd
index 23b7dcbade97b50d7f1cd33ef8418b0f66548267..f224b50e0f5e6c6efbe87bf314d938277e354462 100755 (executable)
--- a/util/domd
+++ b/util/domd
@@ -4,19 +4,35 @@
 
 TOP=$1
 shift
-MAKEDEPEND=$1
-shift
+if [ "$1" = "-MD" ]; then
+    shift
+    MAKEDEPEND=$1
+    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
+cp Makefile Makefile.save
+# fake the presence of Kerberos
+touch $TOP/krb5.h
+if expr "$MAKEDEPEND" : 'cc' > /dev/null; then
+    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
 else
-    ${MAKEDEPEND} -f Makefile.ssl $@
-    perl $TOP/util/clean-depend.pl < Makefile.ssl > Makefile.new
+    ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
+    ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
+    RC=$?
 fi
-mv Makefile.new Makefile.ssl
+mv Makefile.new Makefile
+# unfake the presence of Kerberos
+rm $TOP/krb5.h
+
+exit $RC