mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-21 07:09:34 -05:00
Added rules to use "cc -E" output to generate dependencies.
This commit is contained in:
parent
59bab3280d
commit
49f7399e24
1 changed files with 39 additions and 7 deletions
46
build/mkdep
46
build/mkdep
|
|
@ -109,13 +109,11 @@ cat << _EOF_ >> $TMP
|
||||||
|
|
||||||
_EOF_
|
_EOF_
|
||||||
|
|
||||||
# If your compiler doesn't have -M, add it. If you can't, the next two
|
# If your compiler doesn't have -M, you may be able to use -E instead.
|
||||||
# lines will try and replace the "cc -M". The real problem is that this
|
# The preprocessor must generate lines of the form
|
||||||
# hack can't deal with anything that requires a search path, and doesn't
|
# #.* [0-9]* "dependent file" .*
|
||||||
# even try for anything using bracket (<>) syntax.
|
# This script will parse out the "dependent file"s to generate the
|
||||||
#
|
# dependency list.
|
||||||
# egrep '^#include[ ]*".*"' /dev/null $* |
|
|
||||||
# sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' |
|
|
||||||
|
|
||||||
if test "x$SRCDIR" = "x" ; then
|
if test "x$SRCDIR" = "x" ; then
|
||||||
files=$*
|
files=$*
|
||||||
|
|
@ -143,6 +141,38 @@ cat << _EOF_ >> $TMP
|
||||||
|
|
||||||
_EOF_
|
_EOF_
|
||||||
|
|
||||||
|
case $MKDEP_CFLAGS in
|
||||||
|
# Using regular preprocessor output
|
||||||
|
-E*)
|
||||||
|
FLAGS=""
|
||||||
|
FILES=""
|
||||||
|
for i in $files; do
|
||||||
|
case $i in
|
||||||
|
-*) FLAGS="$FLAGS $i" ;;
|
||||||
|
*) FILES="$FILES $i" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
for i in $FILES; do
|
||||||
|
$MKDEP_CC $MKDEP_CFLAGS $FLAGS $i | egrep '^#.*"' > $TMP.sed
|
||||||
|
awk '
|
||||||
|
BEGIN {
|
||||||
|
file = "'$i'"
|
||||||
|
n = split(file, parts, "/")
|
||||||
|
filenm = substr(parts[n], 0, length(parts[n])-1) "o"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
dep = split($3, parts, "\"")
|
||||||
|
dep = parts[2]
|
||||||
|
if (dep ~ "^\./.*") dep = substr(dep, 3, length(dep)-2)
|
||||||
|
if (( noslash == "yes") && (dep ~ /^\// )) continue
|
||||||
|
if (deps[dep] == 0) printf "%s: %s\n", filenm, dep
|
||||||
|
deps[dep] = 1
|
||||||
|
}' noslash="$NOSLASH" $TMP.sed >> $TMP
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
# Using -M or some other specific dependency-generating option
|
||||||
$MKDEP_CC $MKDEP_CFLAGS $files | \
|
$MKDEP_CC $MKDEP_CFLAGS $files | \
|
||||||
sed -e 's; \./; ;g' -e 's/ :/:/' | \
|
sed -e 's; \./; ;g' -e 's/ :/:/' | \
|
||||||
$SED > $TMP.sed
|
$SED > $TMP.sed
|
||||||
|
|
@ -170,6 +200,8 @@ $1 !~ /:$/ {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
' noslash="$NOSLASH" $TMP.sed >> $TMP
|
' noslash="$NOSLASH" $TMP.sed >> $TMP
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
cat << _EOF_ >> $TMP
|
cat << _EOF_ >> $TMP
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue