summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2013-01-06 12:10:29 (GMT)
committerTony Theodore <tonyt@logyst.com>2013-01-06 12:10:29 (GMT)
commit34d7b0f5b8846fda7589f87538fc1102d1ad0fb6 (patch)
treecb324599568243ba7faf4785115902307943bbe4
parente8ca67a32c419e7609f662d5696ec8ddb4dc2f4d (diff)
downloadmxe-34d7b0f5b8846fda7589f87538fc1102d1ad0fb6.zip
mxe-34d7b0f5b8846fda7589f87538fc1102d1ad0fb6.tar.gz
mxe-34d7b0f5b8846fda7589f87538fc1102d1ad0fb6.tar.bz2
add initial bash completion to tools/
-rw-r--r--tools/mxe-bash-completion41
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/mxe-bash-completion b/tools/mxe-bash-completion
new file mode 100644
index 0000000..e40178f
--- /dev/null
+++ b/tools/mxe-bash-completion
@@ -0,0 +1,41 @@
+_make()
+{
+ local cur prev pkgs tgts
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+ pkgs=$( for x in `ls -l src/*.mk | gsed -n 's,.*src/\(.*\)\.mk,\1,p'`; do echo ${x} ; done )
+ tgts="i686-pc-mingw32 x86_64-w64-mingw32 i686-w64-mingw32"
+
+ case "${cur}" in
+ build-only-*_*)
+ local base=`echo ${cur} | gsed -n 's,\(.*_\).*,\1,p'`
+ local _tgts=$( for x in ${tgts}; do echo $base${x} ; done )
+ COMPREPLY=( $(compgen -W "${_tgts}" -- ${cur}) )
+ return 0
+ ;;
+ build-only-*)
+ local _pkgs=$( for x in ${pkgs}; do echo build-only-${x} ; done )
+ COMPREPLY=( $(compgen -W "${_pkgs}" -- ${cur}) )
+ return 0
+ ;;
+ download-*)
+ local _pkgs=$( for x in ${pkgs}; do echo download-${x} ; done )
+ COMPREPLY=( $(compgen -W "${_pkgs}" -- ${cur}) )
+ return 0
+ ;;
+ update-checksum-*)
+ local _pkgs=$( for x in ${pkgs}; do echo update-checksum-${x} ; done )
+ COMPREPLY=( $(compgen -W "${_pkgs}" -- ${cur}) )
+ return 0
+ ;;
+ [!-]*)
+ pkgs+=" build-only- check-requirements clean clean-pkg download download- update-checksum-"
+ COMPREPLY=( $(compgen -W "${pkgs}" -- ${cur}) )
+ return 0
+ ;;
+ esac
+
+}
+complete -o nospace -o default -F _make make