X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fmkdep;h=eec2d20de3806974fbd9a289e3dd26638aa500f0;hb=40cac2e37a45cbe2ce5fb69e902ad602baf65284;hp=b9df7060f3981173cb97666cb403827b013ea4fb;hpb=0e2af54a3ffdeebe3901370683be56fcc53023b0;p=openldap diff --git a/build/mkdep b/build/mkdep index b9df7060f3..eec2d20de3 100755 --- a/build/mkdep +++ b/build/mkdep @@ -1,24 +1,32 @@ #! /bin/sh - # $OpenLDAP$ -## Copyright 1998-2002 The OpenLDAP Foundation -## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory -## of this package for details. +## This work is part of OpenLDAP Software . +## +## Copyright 1998-2005 The OpenLDAP Foundation. +## All rights reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted only as authorized by the OpenLDAP +## Public License. +## +## A copy of this license is available in the file LICENSE in the +## top-level directory of the distribution or, alternatively, at +## . # -# Portions -# Copyright (c) 1987 Regents of the University of California. -# All rights reserved. -# -# Redistribution and use in source and binary forms are permitted -# provided that the above copyright notice and this paragraph are -# duplicated in all such forms and that any documentation, -# advertising materials, and other materials related to such -# distribution and use acknowledge that the software was developed -# by the University of California, Berkeley. The name of the -# University may not be used to endorse or promote products derived -# from this software without specific prior written permission. -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## Portions Copyright (c) 1987 Regents of the University of California. +## All rights reserved. +## +## Redistribution and use in source and binary forms are permitted +## provided that the above copyright notice and this paragraph are +## duplicated in all such forms and that any documentation, +## advertising materials, and other materials related to such +## distribution and use acknowledge that the software was developed +## by the University of California, Berkeley. The name of the +## University may not be used to endorse or promote products derived +## from this software without specific prior written permission. +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +## IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +## WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # @(#)mkdep.sh 5.12 (Berkeley) 6/30/88 # @@ -109,13 +117,11 @@ cat << _EOF_ >> $TMP _EOF_ -# If your compiler doesn't have -M, add it. If you can't, the next two -# lines will try and replace the "cc -M". The real problem is that this -# hack can't deal with anything that requires a search path, and doesn't -# even try for anything using bracket (<>) syntax. -# -# egrep '^#include[ ]*".*"' /dev/null $* | -# sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' | +# If your compiler doesn't have -M, you may be able to use -E instead. +# The preprocessor must generate lines of the form +# #.* [0-9]* "dependent file" .* +# This script will parse out the "dependent file"s to generate the +# dependency list. if test "x$SRCDIR" = "x" ; then files=$* @@ -143,6 +149,38 @@ cat << _EOF_ >> $TMP _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 | grep '^#.*"' > $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 | \ sed -e 's; \./; ;g' -e 's/ :/:/' | \ $SED > $TMP.sed @@ -170,6 +208,8 @@ $1 !~ /:$/ { } } ' noslash="$NOSLASH" $TMP.sed >> $TMP + ;; +esac cat << _EOF_ >> $TMP