export MXE_DIR=`pwd` export BUILD=`$MXE_DIR/tools/config.guess` export PATH=$MXE_DIR/usr/$BUILD/bin:$MXE_DIR/usr/bin:$PATH MAKE=`gmake --help >/dev/null 2>&1 && echo g`make SED=`gsed --help >/dev/null 2>&1 && echo g`sed MXE_TARGET_LIST="`grep 'MXE_TARGET_LIST.*:=' Makefile | $SED -n 's,^.*:= \(.*\)$,\1,p'`" alias mxe='$MAKE -C $MXE_DIR --no-print-directory' unset `env | \ grep -vi '^EDITOR=\|^HOME=\|^LANG=\|MXE\|^PATH=' | \ grep -vi 'PKG_CONFIG\|PROXY\|^PS1=\|^TERM=' | \ cut -d '=' -f1 | tr '\n' ' '` _mxe() { local cur prev pkgs tgts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" pkgs=$( for x in `ls -l $MXE_DIR/src/*.mk | $SED -n 's,.*src/\(.*\)\.mk,\1,p'`; do echo ${x} ; done ) tgts=$MXE_TARGET_LIST case "${cur}" in build-only-*_*) local base=`echo ${cur} | $SED -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 ;; show-*deps-*) local base=`echo ${cur} | $SED -n 's,\(show.*deps-\).*,\1,p'` local _pkgs=$( for x in ${pkgs}; do echo $base${x} ; done ) COMPREPLY=( $(compgen -W "${_pkgs}" -- ${cur}) ) return 0 ;; [!-]*) pkgs+=" build-only- check-requirements clean clean-pkg download download- update-checksum- show-deps- show-downstream-deps- show-upstream-deps-" COMPREPLY=( $(compgen -W "${pkgs}" -- ${cur}) ) return 0 ;; esac } complete -o nospace -o default -F _mxe mxe make gmake