From fe80379682173b67f32906dcdbd818a13b7f3262 Mon Sep 17 00:00:00 2001 From: con Date: Tue, 24 Feb 2009 08:56:46 +0100 Subject: Fixes: - Move scripts and adapt --- scripts/fix_makefile_header_dependencies.sh | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 scripts/fix_makefile_header_dependencies.sh (limited to 'scripts/fix_makefile_header_dependencies.sh') diff --git a/scripts/fix_makefile_header_dependencies.sh b/scripts/fix_makefile_header_dependencies.sh new file mode 100755 index 0000000000..eae6819a19 --- /dev/null +++ b/scripts/fix_makefile_header_dependencies.sh @@ -0,0 +1,52 @@ +#! /usr/bin/env bash + +WORKER=./fill_deps.sh +DEPFILE=deps + +write_deps_file() { + INPUT=$1 + ESCAPED_OUTPUT=`sed 's/\//\\\\\//g' <<<"$1"` + + { + echo '#! /usr/bin/env bash' + grep '^\(CXXFLAGS\|INCPATH\|DEFINES\)' ${INPUT} \ + | sed \ + -e 's/$(\([^)]\+\))/${\1}/g' \ + -e 's/"/\\"/g' \ + -e 's/^\([^ ]\+\) *= *\(.\+\)/\1="\2"/' + echo + echo 'touch deps' + grep '^.$(CXX)' ${INPUT} \ + | grep -v '$@' \ + | sed \ + -e 's/^\t\$(CXX)\(.\+\)$/makedepend \1 -w 1000000 -f '${DEPFILE}' -p "" -a -o .o 2>\/dev\/null/' \ + -e 's/$(\([^)]\+\))/${\1}/g' \ + -e 's/\\/\//g' + } > "${WORKER}" + chmod a+x "${WORKER}" +} + + + +PWD_BACKUP=$PWD + +while read makefile ; do + dir=`dirname "${makefile}"` + if [ `find "${dir}" -maxdepth 1 -name '*.cpp' | wc -l 2>/dev/null` -ge 1 ]; then + echo "Directory: $dir" + cd $dir + rm -f "${DEPFILE}" + write_deps_file Makefile + "${WORKER}" + TEMPFILE=`mktemp` + sed 's/^.\+\/\([^\/]\+.o:\)/\1/' "${DEPFILE}" > "${TEMPFILE}" + mv "${TEMPFILE}" "${DEPFILE}" + # rm "${WORKER}" + + cd ${PWD_BACKUP} + echo "include ${DEPFILE}" >> "${makefile}" + fi +done < <(find src -name 'Makefile') + +cd ${PWD_BACKUP} + -- cgit v1.2.1