From dcb5aa3cc48fd616cb61d0ac85d643c7e9b1ba25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven=20Dee=20=28J=C5=8Dshin=29?= Date: Sun, 5 Jan 2025 20:30:44 -0800 Subject: [PATCH] Do not refer to build/bootstrap/make in docs --- README.md | 23 +++++++++++++++-------- ape/apeinstall.sh | 4 ++-- test/posix/sigchld_test.c | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index eda1f14bc..f444cab16 100644 --- a/README.md +++ b/README.md @@ -87,15 +87,22 @@ ape/apeinstall.sh ``` You can now build the mono repo with any modern version of GNU Make. To -make life easier, we've included one in the cosmocc toolchain, which is -guaranteed to be compatible and furthermore includes our extensions for -doing build system sandboxing. +bootstrap your build, you can install Cosmopolitan Make from this site: + +https://cosmo.zip/pub/cosmos/bin/make + +E.g.: ```sh -build/bootstrap/make -j8 +curl -LO https://cosmo.zip/pub/cosmos/bin/make +./make -j8 o//examples/hello ``` +After you've built the repo once, you can also use the make from your +cosmocc at `.cosmocc/current/bin/make`. You might even prefer to alias +make to `$COSMO/.cosmocc/current/bin/make`. + Since the Cosmopolitan repository is very large, you might only want to build one particular thing. Here's an example of a target that can be compiled relatively quickly, which is a simple POSIX test that only @@ -103,7 +110,7 @@ depends on core LIBC packages. ```sh rm -rf o//libc o//test -build/bootstrap/make o//test/posix/signal_test +.cosmocc/current/bin/make o//test/posix/signal_test o//test/posix/signal_test ``` @@ -112,21 +119,21 @@ list out each individual one. For example if you wanted to build and run all the unit tests in the `TEST_POSIX` package, you could say: ```sh -build/bootstrap/make o//test/posix +.cosmocc/current/bin/make o//test/posix ``` Cosmopolitan provides a variety of build modes. For example, if you want really tiny binaries (as small as 12kb in size) then you'd say: ```sh -build/bootstrap/make m=tiny +.cosmocc/current/bin/make m=tiny ``` You can furthermore cut out the bloat of other operating systems, and have Cosmopolitan become much more similar to Musl Libc. ```sh -build/bootstrap/make m=tinylinux +.cosmocc/current/bin/make m=tinylinux ``` For further details, see [//build/config.mk](build/config.mk). diff --git a/ape/apeinstall.sh b/ape/apeinstall.sh index 2a0a28590..73f24965f 100755 --- a/ape/apeinstall.sh +++ b/ape/apeinstall.sh @@ -10,8 +10,8 @@ if [ ! -f ape/loader.c ]; then cd "$COSMO" || exit fi -if [ -x build/bootstrap/make ]; then - MAKE=build/bootstrap/make +if [ -x .cosmocc/current/bin/make ]; then + MAKE=.cosmocc/current/bin/make else MAKE=make fi diff --git a/test/posix/sigchld_test.c b/test/posix/sigchld_test.c index 36cf1f032..6915f7cf2 100644 --- a/test/posix/sigchld_test.c +++ b/test/posix/sigchld_test.c @@ -32,7 +32,7 @@ #include // clang-format off -// sh -c 'build/bootstrap/make -j8 V=1 o//test/posix/sigchld_test.runs' +// sh -c '.cosmocc/current/bin/make -j8 V=1 o//test/posix/sigchld_test.runs' // clang-format on void Assert(const char *file, int line, bool ok) {