make depend: prefer clang over makedepend
[openssl.git] / util / domd
1 #!/bin/sh
2 # Do a makedepend, only leave out the standard headers
3 # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
4
5 TOP=$1
6 shift
7 if [ "$1" = "-MD" ]; then
8     shift
9     MAKEDEPEND=$1
10     shift
11 fi
12 if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
13
14 cp Makefile Makefile.save
15 # fake the presence of Kerberos
16 touch $TOP/krb5.h
17 if ${MAKEDEPEND} --version 2>&1 | grep -q "clang" ||
18    echo $MAKEDEPEND | grep -q "gcc"; then
19     args=""
20     while [ $# -gt 0 ]; do
21         if [ "$1" != "--" ]; then args="$args $1"; fi
22         shift
23     done
24     sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
25     echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
26     ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
27     ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
28     RC=$?
29     rm -f Makefile.tmp
30 else
31     ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
32     ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
33     RC=$?
34 fi
35 mv Makefile.new Makefile
36 # unfake the presence of Kerberos
37 rm $TOP/krb5.h
38
39 exit $RC