summaryrefslogtreecommitdiff
path: root/Kernel/makeall.sh
blob: fc2fa28cad8f8a837050c23beca301c3683586e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
set -e

sudo id

if [ -z "$MAKEJOBS" ]; then
    MAKEJOBS=$(nproc)
fi

make_cmd="make -j $MAKEJOBS"

build_targets=""
build_targets="$build_targets ../LibC"
build_targets="$build_targets ../LibM"
build_targets="$build_targets ../LibCore"
build_targets="$build_targets ../Servers/LookupServer"
build_targets="$build_targets ../Servers/WindowServer"
build_targets="$build_targets ../LibGUI"
build_targets="$build_targets ../Userland"
build_targets="$build_targets ../Applications/Terminal"
build_targets="$build_targets ../Applications/FontEditor"
build_targets="$build_targets ../Applications/Launcher"
build_targets="$build_targets ../Applications/FileManager"
build_targets="$build_targets ../Applications/ProcessManager"
build_targets="$build_targets ../Applications/TextEditor"
build_targets="$build_targets ../Applications/About"
build_targets="$build_targets ../Applications/IRCClient"
build_targets="$build_targets ../Applications/Taskbar"
build_targets="$build_targets ../Applications/Downloader"
build_targets="$build_targets ../DevTools/VisualBuilder"
build_targets="$build_targets ../Games/Minesweeper"
build_targets="$build_targets ../Games/Snake"
build_targets="$build_targets ../Shell"
build_targets="$build_targets ../Demos/HelloWorld"
build_targets="$build_targets ../Demos/RetroFetch"
build_targets="$build_targets ../Demos/WidgetGallery"
build_targets="$build_targets ." # the kernel

for targ in $build_targets; do
    echo "Building $targ"
    #(cd "$targ" && find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -exec clang-format -i {} \;)
    $make_cmd -C "$targ" clean
    $make_cmd -C "$targ"

    if [ -f "$targ/install.sh" ]; then
        echo "Installing $targ"
        (cd "$targ" && ./install.sh)
    fi
done

# has no need to build separately, but install headers.
(cd ../SharedGraphics && ./install.sh)
(cd ../AK && ./install.sh)

sudo ./sync.sh