minor fixes for clang++
[senf.git] / tools / find-sources.sh
index ca5e9bb..0c6c56f 100755 (executable)
@@ -1,16 +1,21 @@
 #!/bin/sh -e
 
+print="-print"
 cond=""
-if [ "$1" = "-c" ]; then
-    shift
-    cond='( -name *.h -o -name *.hh -o -name *.ih -o -name *.c -o -name *.cc -o -name *.cci -o -name *.ct -o -name *.cti -o -name *.mpp -o -name *.dox )'
-fi
+while true ; do
+    case "$1" in
+        -n) print=""; shift ;;
+        -c) cond='( -name *.h -o -name *.hh -o -name *.ih -o -name *.c -o -name *.cc -o -name *.cci -o -name *.ct -o -name *.cti -o -name *.mpp -o -name *.dox )'; shift ;;
+        *) break ;;
+    esac
+done
 
 set -f
 
 find . \
     -name .svn -prune -o \
     -name .git -prune -o \
+    -name .sconf_temp -prune -o \
     -name doc -prune -o \
     -name debian -prune -o \
     -name dist -prune -o \
@@ -20,7 +25,7 @@ find . \
     -name "*.o" -o \
     -name "*.os" -o \
     -name "*.so" -o \
-    \( -type f -a ! -name "*.*" \) -o \
+    \( -type f -a ! -name "*.*" -a -exec sh -c "file --brief {} | grep -q ELF" \; \) -o \
     -name "*~" -o \
     -name "#*#" -o \
     -name "*.pyc" -o \
@@ -29,4 +34,4 @@ find . \
     -name ".sconsign*" -o \
     -name "semantic.cache" -o \
     -name "all_includes.hh" -o \
-    -type f $cond \( "$@" -print \)
+    -type f $cond \( "$@" $print \)