domd revision 312826
111894Speter#!/bin/sh
29Sjkh# Do a makedepend, only leave out the standard headers
311894Speter# Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
411894Speter
59SjkhTOP=$1
69Sjkhshift
79Sjkhif [ "$1" = "-MD" ]; then
89Sjkh    shift
99Sjkh    MAKEDEPEND=$1
109Sjkh    shift
119Sjkhfi
129Sjkhif [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
139Sjkh
149Sjkh# Preserve Makefile timestamp by moving instead of copying (cp -p is GNU only)
159Sjkhmv Makefile Makefile.save
169Sjkhcp Makefile.save Makefile
179Sjkh# fake the presence of Kerberos
189Sjkhtouch $TOP/krb5.h
199Sjkhif ${MAKEDEPEND} --version 2>&1 | grep "clang" > /dev/null ||
2011894Speter   echo $MAKEDEPEND | grep "gcc" > /dev/null; then
2111894Speter    args=""
2211894Speter    while [ $# -gt 0 ]; do
239Sjkh	if [ "$1" != "--" ]; then args="$args $1"; fi
249Sjkh	shift
259Sjkh    done
269Sjkh    sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
279Sjkh    echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
289Sjkh    ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
299Sjkh    ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
3011894Speter    RC=$?
3111894Speter    rm -f Makefile.tmp
3211894Speterelse
338858Srgrimes    ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
3411894Speter    ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
3511894Speter    RC=$?
3611894Speterfi
3711894Speterif ! cmp -s Makefile.save Makefile.new; then
3811894Speter    mv Makefile.new Makefile
3911894Speterelse
4011894Speter    mv Makefile.save Makefile
4111894Speter    rm -f Makefile.new
4211894Speterfi
4311894Speter# unfake the presence of Kerberos
4411894Speterrm $TOP/krb5.h
4511894Speter
4611894Speterexit $RC
4711894Speter