toplevel Makefile: handle gen-config better
[unleashed/lotheac.git] / README.md
blob3f066e07440d2aae5642481804134e172bd7a111
1 How to build Unleashed
2 ======================
4 Install Unleashed
5 -----------------
7 Building Unleashed requires Unleashed, so first, download and install the
8 latest snapshot from https://www.unleashed-os.org/snapshots/latest/
10 Get the source
11 --------------
13 Clone this repository:
15 ```
16 $ git clone git://repo.or.cz/unleashed.git
17 $ cd unleashed
18 ```
20 Build
21 -----
23 For a complete build, use `tools/nightly.sh`. The user executing the build
24 needs to be able to write to `/usr/obj`, so make sure you can do that first.
26 ```
27 # zfs create -o mountpoint=/usr/obj rpool/obj && install -m 1777 -d /usr/obj
28 $ ./tools/nightly.sh
29 ```
31 On success, this results in installable packages in the `packages` directory.
33 Incremental build
34 -----------------
36 To build a component that is using the new build system (e.g., cat(1)), change
37 into the source directory and run make. For example:
39 ```
40 $ cd bin/cat
41 $ make
42 # make install
43 ```
45 The component will be built against the running system and installed to /. To
46 install to the proto area, pass `DESTDIR=path` to `make install`. Building
47 against libraries and headers in the "proto area" or in object directories is
48 not currently supported.
50 To build a component under the legacy (dmake) build system, ie. things under
51 `usr/src`, first complete a full nightly build so that prerequisite objects for
52 the component are made, and then:
54 ```
55 $ ./tools/bldenv.sh
56 $ cd usr/src/cmd/w
57 $ dmake install
58 ```
60 The component will be built against the "proto area" in `proto/root_i386` and
61 installed there.