mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-26 22:38:30 +00:00
mmake: formatting + aarch64 tab-completion helper
o/aarch64/* is turned into o/$mode/* in a way analogous to o//, so aarch64 systems can use tab complete for alternate modes just like x86_64 can.
This commit is contained in:
parent
1280797db2
commit
85e4c020a3
1 changed files with 19 additions and 20 deletions
|
@ -6,14 +6,12 @@
|
||||||
# mmake tiny ape/ape.elf
|
# mmake tiny ape/ape.elf
|
||||||
local mode
|
local mode
|
||||||
case $1 in
|
case $1 in
|
||||||
(m|MODE)=*)
|
(m|MODE)=*) mode=${1#*=}; shift ;;
|
||||||
mode=${1#*=}; shift ;;
|
|
||||||
aarch64|x86_64|aarch64-(zero|tiny)|x86_64-tiny) ;&
|
aarch64|x86_64|aarch64-(zero|tiny)|x86_64-tiny) ;&
|
||||||
zero|fastbuild|opt|optlinux|rel|asan|dbg|sysv) ;&
|
zero|fastbuild|opt|optlinux|rel|asan|dbg|sysv) ;&
|
||||||
tiny(|linux(|bsd)|sysv|nowin)|nox87|llvm|ansi)
|
tiny(|linux(|bsd)|sysv|nowin)|nox87|llvm|ansi) ##
|
||||||
mode=$1; shift ;;
|
mode=$1; shift ;;
|
||||||
*)
|
*) mode=${MODE:-${m}} ;;
|
||||||
mode=${MODE:-${m}} ;;
|
|
||||||
esac
|
esac
|
||||||
[[ -z $mode ]] && {
|
[[ -z $mode ]] && {
|
||||||
local arch=$(uname -m)
|
local arch=$(uname -m)
|
||||||
|
@ -26,17 +24,18 @@ local -a flags
|
||||||
local j
|
local j
|
||||||
while (( $# > 0 )); do
|
while (( $# > 0 )); do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
all|o|bins|check|test|depend|tags|aarch64) ;&
|
||||||
|
clean|toolchain|clean_toolchain|o/$mode/*) ##
|
||||||
|
targs+=($1); shift ;;
|
||||||
-j*) j=$1; shift ;;
|
-j*) j=$1; shift ;;
|
||||||
-*|*=*) flags+=($1); shift ;;
|
-*|*=*) flags+=($1); shift ;;
|
||||||
all|o|bins|check|test|depend|tags|aarch64) ;&
|
o/(|aarch64)/*) targs+=(o/$mode/${1#*/*/}); shift ;;
|
||||||
clean|toolchain|clean_toolchain|o/$mode/*)
|
|
||||||
targs+=($1); shift ;;
|
|
||||||
o/*) targs+=(o/$mode/${1#*/}); shift ;;
|
o/*) targs+=(o/$mode/${1#*/}); shift ;;
|
||||||
*) targs+=(o/$mode/$1); shift ;;
|
*) targs+=(o/$mode/$1); shift ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
[[ -z $j ]] && {
|
[[ -z $j ]] && {
|
||||||
whence nproc >/dev/null 2>&1 || autoload -Uz nproc
|
whence nproc >/dev/null || autoload -Uz nproc
|
||||||
j=-j$(nproc)
|
j=-j$(nproc)
|
||||||
}
|
}
|
||||||
local make
|
local make
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue