Index: /trunk/tools/bin/gen-slickedit-workspace.sh
===================================================================
--- /trunk/tools/bin/gen-slickedit-workspace.sh	(revision 43631)
+++ /trunk/tools/bin/gen-slickedit-workspace.sh	(revision 43632)
@@ -66,4 +66,5 @@
 MY_WINDOWS_HOST=""
 MY_OPT_MINIMAL=""
+MY_OPT_USE_WILDCARDS="yes"
 
 #MY_KBUILD_PATH="${KBUILD_PATH}"
@@ -113,4 +114,5 @@
 # @param    $1      The output file name base.
 # @param    $2      The file name.
+# @param    $3      Optional folder override.
 my_file()
 {
@@ -128,5 +130,5 @@
 
         # by extension.
-        *.c|*.cpp|*.m|*.mm|*.pl|*.py|*.as|*.c.h|*.cpp.h)
+        *.c|*.cpp|*.m|*.mm|*.pl|*.py|*.as|*.c.h|*.cpp.h|*.java)
             MY_FOLDER="$1-Sources.lst"
             ;;
@@ -144,4 +146,8 @@
             ;;
     esac
+    if test -n "$3"; 
+    then
+        MY_FOLDER="$1-$3.lst"
+    fi
 
     ## @todo only files which are in subversion.
@@ -153,8 +159,20 @@
 
 ##
+# Generate file entry for the specified file if it was found to be of interest.
+#
+# @param    $1      The output file name base.
+# @param    $2      The wildcard spec.
+my_wildcard()
+{
+    EXCLUDES="*.log;*.kup;*~;*.pyc;*.exe;*.sys;*.dll;*.o;*.obj;*.lib;*.a;*.ko;*.class;.svn/*"
+    echo '        <F N="'"${2}"'/*" Recurse="1" Excludes="'"${EXCLUDES}"'"/>' >> "$1-All.lst"
+}
+
+##
 # Generate file entries for the specified sub-directory tree.
 #
 # @param    $1      The output filename.
 # @param    $2      The sub-directory.
+# @param    $3      Optional folder override.
 my_sub_tree()
 {
@@ -173,7 +191,7 @@
         if test -d "${f}";
         then
-            my_sub_tree "${1}" "${f}"
+            my_sub_tree "${1}" "${f}" "${3}"
         else
-            my_file "${1}" "${f}"
+            my_file "${1}" "${f}" "${3}"
         fi
     done
@@ -193,4 +211,5 @@
 
     # Zap existing file collections.
+    > "${MY_FILE}-All.lst"
     > "${MY_FILE}-Sources.lst"
     > "${MY_FILE}-Headers.lst"
@@ -206,5 +225,16 @@
             if test -d "${f}";
             then
-                my_sub_tree "${MY_FILE}" "${f}"
+                if test -z "${MY_OPT_USE_WILDCARDS}"; 
+                then
+                    my_sub_tree "${MY_FILE}" "${f}"
+                else
+                    case "${f}" in
+                        ${MY_ROOT_DIR}/include*) 
+                            my_sub_tree "${MY_FILE}" "${f}" "Headers"
+                            ;;
+                        *)  my_wildcard "${MY_FILE}" "${f}" 
+                            ;;
+                    esac
+                fi
             else
                 my_file "${MY_FILE}" "${f}"
@@ -215,4 +245,8 @@
 
     # Generate the folders.
+    if test -s "${MY_FILE}-All.lst";
+    then
+        ${MY_SORT} "${MY_FILE}-All.lst"   | ${MY_SED} -e 's/<!-- sortkey: [^>]*>/          /' >> "${MY_FILE}"
+    fi
     if test -s "${MY_FILE}-Sources.lst";
     then
@@ -223,5 +257,10 @@
     if test -s "${MY_FILE}-Headers.lst";
     then
-        echo '        <Folder Name="Headers"  Filters="*.h;*.hpp">' >> "${MY_FILE}"
+        if test -z "${MY_OPT_USE_WILDCARDS}"; 
+        then
+            echo '        <Folder Name="Headers"  Filters="*.h;*.hpp">' >> "${MY_FILE}"
+        else
+            echo '        <Folder Name="Headers"  Filters="">' >> "${MY_FILE}"
+        fi
         ${MY_SORT} "${MY_FILE}-Headers.lst"   | ${MY_SED} -e 's/<!-- sortkey: [^>]*>/          /' >> "${MY_FILE}"
         echo '        </Folder>' >> "${MY_FILE}"
@@ -247,5 +286,6 @@
 
     # Cleanup
-    ${MY_RM}  "${MY_FILE}-Sources.lst" "${MY_FILE}-Headers.lst" "${MY_FILE}-Assembly.lst" "${MY_FILE}-Testcases.lst" "${MY_FILE}-Others.lst"
+    ${MY_RM}  "${MY_FILE}-All.lst" "${MY_FILE}-Sources.lst" "${MY_FILE}-Headers.lst" "${MY_FILE}-Assembly.lst" \
+        "${MY_FILE}-Testcases.lst" "${MY_FILE}-Others.lst"
 }
 
