summaryrefslogtreecommitdiff
path: root/scripts/fix_makefile_header_dependencies.sh
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2009-02-24 08:56:46 +0100
committercon <qtc-committer@nokia.com>2009-02-24 12:29:26 +0100
commitfe80379682173b67f32906dcdbd818a13b7f3262 (patch)
tree1ac56d013550359865410afbf28cef6be653f64d /scripts/fix_makefile_header_dependencies.sh
parentc0f2f81c6817a6a1639d27d15b8b58f64b848e5e (diff)
downloadqt-creator-fe80379682173b67f32906dcdbd818a13b7f3262.tar.gz
Fixes: - Move scripts and adapt
Diffstat (limited to 'scripts/fix_makefile_header_dependencies.sh')
-rwxr-xr-xscripts/fix_makefile_header_dependencies.sh52
1 files changed, 52 insertions, 0 deletions
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}
+