mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-02 16:00:30 +00:00
cosmocc: update to allow building on MacOS
This commit is contained in:
parent
7f6a7d6fff
commit
c149b88758
1 changed files with 24 additions and 10 deletions
|
@ -15,17 +15,31 @@ mode() {
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_nproc() {
|
||||||
|
case $(uname -s) in
|
||||||
|
Darwin) sysctl -n hw.logicalcpu ;;
|
||||||
|
*) nproc ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
which_make() {
|
||||||
|
case $(uname -s) in
|
||||||
|
Darwin) echo gmake ;;
|
||||||
|
*) echo make ;;
|
||||||
|
}
|
||||||
|
|
||||||
OUTDIR=${1:-cosmocc}
|
OUTDIR=${1:-cosmocc}
|
||||||
APELINK=o/$(mode)/tool/build/apelink
|
APELINK=o/$(mode)/tool/build/apelink
|
||||||
AMD64=${2:-x86_64}
|
AMD64=${2:-x86_64}
|
||||||
ARM64=${3:-aarch64}
|
ARM64=${3:-aarch64}
|
||||||
NPROC=$(($(nproc)/2))
|
NPROC=$(($(_nproc)/2))
|
||||||
GCCVER=14.1.0
|
GCCVER=14.1.0
|
||||||
|
MAKE=$(which_make)
|
||||||
|
|
||||||
make -j$NPROC m= \
|
$MAKE -j$NPROC m= \
|
||||||
$APELINK
|
$APELINK
|
||||||
|
|
||||||
make -j$NPROC m=$AMD64 \
|
$MAKE -j$NPROC m=$AMD64 \
|
||||||
o/cosmocc.h.txt \
|
o/cosmocc.h.txt \
|
||||||
o/$AMD64/ape/ape.lds \
|
o/$AMD64/ape/ape.lds \
|
||||||
o/$AMD64/libc/crt/crt.o \
|
o/$AMD64/libc/crt/crt.o \
|
||||||
|
@ -62,7 +76,7 @@ make -j$NPROC m=$AMD64 \
|
||||||
o/$AMD64/third_party/make/make.dbg \
|
o/$AMD64/third_party/make/make.dbg \
|
||||||
o/$AMD64/third_party/ctags/ctags.dbg
|
o/$AMD64/third_party/ctags/ctags.dbg
|
||||||
|
|
||||||
make -j$NPROC m=$AMD64-tiny \
|
$MAKE -j$NPROC m=$AMD64-tiny \
|
||||||
o/cosmocc.h.txt \
|
o/cosmocc.h.txt \
|
||||||
o/$AMD64-tiny/ape/ape.lds \
|
o/$AMD64-tiny/ape/ape.lds \
|
||||||
o/$AMD64-tiny/libc/crt/crt.o \
|
o/$AMD64-tiny/libc/crt/crt.o \
|
||||||
|
@ -74,7 +88,7 @@ make -j$NPROC m=$AMD64-tiny \
|
||||||
o/$AMD64-tiny/cosmopolitan.a \
|
o/$AMD64-tiny/cosmopolitan.a \
|
||||||
o/$AMD64-tiny/third_party/libcxx/libcxx.a \
|
o/$AMD64-tiny/third_party/libcxx/libcxx.a \
|
||||||
|
|
||||||
make -j$NPROC m=$AMD64-dbg \
|
$MAKE -j$NPROC m=$AMD64-dbg \
|
||||||
o/cosmocc.h.txt \
|
o/cosmocc.h.txt \
|
||||||
o/$AMD64-dbg/ape/ape.lds \
|
o/$AMD64-dbg/ape/ape.lds \
|
||||||
o/$AMD64-dbg/libc/crt/crt.o \
|
o/$AMD64-dbg/libc/crt/crt.o \
|
||||||
|
@ -86,7 +100,7 @@ make -j$NPROC m=$AMD64-dbg \
|
||||||
o/$AMD64-dbg/cosmopolitan.a \
|
o/$AMD64-dbg/cosmopolitan.a \
|
||||||
o/$AMD64-dbg/third_party/libcxx/libcxx.a \
|
o/$AMD64-dbg/third_party/libcxx/libcxx.a \
|
||||||
|
|
||||||
make CONFIG_TARGET_ARCH= -j$NPROC m=$AMD64-optlinux \
|
$MAKE CONFIG_TARGET_ARCH= -j$NPROC m=$AMD64-optlinux \
|
||||||
o/cosmocc.h.txt \
|
o/cosmocc.h.txt \
|
||||||
o/$AMD64-optlinux/ape/ape.lds \
|
o/$AMD64-optlinux/ape/ape.lds \
|
||||||
o/$AMD64-optlinux/libc/crt/crt.o \
|
o/$AMD64-optlinux/libc/crt/crt.o \
|
||||||
|
@ -98,7 +112,7 @@ make CONFIG_TARGET_ARCH= -j$NPROC m=$AMD64-optlinux \
|
||||||
o/$AMD64-optlinux/cosmopolitan.a \
|
o/$AMD64-optlinux/cosmopolitan.a \
|
||||||
o/$AMD64-optlinux/third_party/libcxx/libcxx.a \
|
o/$AMD64-optlinux/third_party/libcxx/libcxx.a \
|
||||||
|
|
||||||
make -j$NPROC m=$ARM64 \
|
$MAKE -j$NPROC m=$ARM64 \
|
||||||
o/$ARM64/ape/ape.elf \
|
o/$ARM64/ape/ape.elf \
|
||||||
o/$ARM64/ape/aarch64.lds \
|
o/$ARM64/ape/aarch64.lds \
|
||||||
o/$ARM64/libc/crt/crt.o \
|
o/$ARM64/libc/crt/crt.o \
|
||||||
|
@ -130,21 +144,21 @@ make -j$NPROC m=$ARM64 \
|
||||||
o/$ARM64/third_party/make/make.dbg \
|
o/$ARM64/third_party/make/make.dbg \
|
||||||
o/$ARM64/third_party/ctags/ctags.dbg
|
o/$ARM64/third_party/ctags/ctags.dbg
|
||||||
|
|
||||||
make -j$NPROC m=$ARM64-tiny \
|
$MAKE -j$NPROC m=$ARM64-tiny \
|
||||||
o/$ARM64-tiny/ape/ape.elf \
|
o/$ARM64-tiny/ape/ape.elf \
|
||||||
o/$ARM64-tiny/ape/aarch64.lds \
|
o/$ARM64-tiny/ape/aarch64.lds \
|
||||||
o/$ARM64-tiny/libc/crt/crt.o \
|
o/$ARM64-tiny/libc/crt/crt.o \
|
||||||
o/$ARM64-tiny/cosmopolitan.a \
|
o/$ARM64-tiny/cosmopolitan.a \
|
||||||
o/$ARM64-tiny/third_party/libcxx/libcxx.a \
|
o/$ARM64-tiny/third_party/libcxx/libcxx.a \
|
||||||
|
|
||||||
make -j$NPROC m=$ARM64-dbg \
|
$MAKE -j$NPROC m=$ARM64-dbg \
|
||||||
o/$ARM64-dbg/ape/ape.elf \
|
o/$ARM64-dbg/ape/ape.elf \
|
||||||
o/$ARM64-dbg/ape/aarch64.lds \
|
o/$ARM64-dbg/ape/aarch64.lds \
|
||||||
o/$ARM64-dbg/libc/crt/crt.o \
|
o/$ARM64-dbg/libc/crt/crt.o \
|
||||||
o/$ARM64-dbg/cosmopolitan.a \
|
o/$ARM64-dbg/cosmopolitan.a \
|
||||||
o/$ARM64-dbg/third_party/libcxx/libcxx.a \
|
o/$ARM64-dbg/third_party/libcxx/libcxx.a \
|
||||||
|
|
||||||
make -j$NPROC m=$ARM64-optlinux \
|
$MAKE -j$NPROC m=$ARM64-optlinux \
|
||||||
o/$ARM64-optlinux/ape/ape.elf \
|
o/$ARM64-optlinux/ape/ape.elf \
|
||||||
o/$ARM64-optlinux/ape/aarch64.lds \
|
o/$ARM64-optlinux/ape/aarch64.lds \
|
||||||
o/$ARM64-optlinux/libc/crt/crt.o \
|
o/$ARM64-optlinux/libc/crt/crt.o \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue