# How to make small executables?

**URL:** https://racket.discourse.group/t/how-to-make-small-executables/2244
**Category:** Questions & Answers
**Created:** [August 24, 2023, 7:28pm UTC](https://racket.discourse.group/t/how-to-make-small-executables/2244 "2023-08-24T19:28:07Z")
**Posts on this page:** 1
**Showing post:** 22

<div class="post-metadata">

### Author: ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)
#### Post date: [September 28, 2023, 12:40am UTC](https://racket.discourse.group/t/how-to-make-small-executables/2244/22 "2023-09-28T00:40:02Z")

</div>

> [@lewisl](#):
>
> Looking at the make script doesn't help much:
> 
> ```scheme
> run: $(ZUO)
> $(ZUO) $(workarea) run
> 
> ```
> 
> So, where on earth is the workarea? That is not a normal environment variable so I can't expand its definition in any way that I know.

The `workarea` is set by the `configure` script when it creates the top-level `Makefile` from `Makefile.in`:

> <https://github.com/racket/racket/blob/ca0e5f588a0bfa501e5559b5e00059e294cd95d6/racket/src/ChezScheme/configure#L948-L950>

> <https://github.com/racket/racket/blob/ca0e5f588a0bfa501e5559b5e00059e294cd95d6/racket/src/ChezScheme/makefiles/Makefile.in#L1-L2>

Typically it is the Chez machine type you are building for, e.g. `ta6le`. (This keeps things from getting horribly messy when bootstrapping, cross-compiling, etc.) The `make`-level interface for the build system is almost exactly the same as with upstream Chez: the implementation using Zuo primarily makes it work more reliably.

I suggested `make run` as a quick way to get to a running Chez, but it's probably not what you want if you just want to use Chez, rather than develop it. For normal purposes, you would probably instead want to do:

```sh
./configure --prefix=/usr/local # or /opt/chez or ~/chez or ...
make
make install

```

---

_[View the full topic](https://racket.discourse.group/t/how-to-make-small-executables/2244)._
