2018-11-09 03:25:31 +03:00
|
|
|
#!/bin/bash
|
2019-05-15 21:30:00 +03:00
|
|
|
set -e
|
2018-11-09 03:25:31 +03:00
|
|
|
|
2019-07-03 17:57:37 +03:00
|
|
|
# Get user and group details for setting qemu disk image ownership
|
|
|
|
export build_user=$(id -u)
|
|
|
|
export build_group=$(id -g)
|
|
|
|
|
2018-11-09 03:25:31 +03:00
|
|
|
sudo id
|
|
|
|
|
2019-05-15 21:26:31 +03:00
|
|
|
if [ -z "$MAKEJOBS" ]; then
|
|
|
|
MAKEJOBS=$(nproc)
|
|
|
|
fi
|
|
|
|
|
|
|
|
make_cmd="make -j $MAKEJOBS"
|
2019-02-12 18:33:24 +03:00
|
|
|
|
2019-05-15 21:30:00 +03:00
|
|
|
build_targets=""
|
2019-07-10 22:22:27 +03:00
|
|
|
build_targets="$build_targets ../DevTools/FormCompiler"
|
2019-07-04 17:16:50 +03:00
|
|
|
build_targets="$build_targets ../Libraries/LibC"
|
|
|
|
build_targets="$build_targets ../Libraries/LibM"
|
|
|
|
build_targets="$build_targets ../Libraries/LibCore"
|
2019-07-18 11:15:00 +03:00
|
|
|
build_targets="$build_targets ../Libraries/LibDraw"
|
2019-07-13 23:58:36 +03:00
|
|
|
build_targets="$build_targets ../Libraries/LibAudio"
|
2019-05-29 23:36:23 +03:00
|
|
|
build_targets="$build_targets ../Servers/SystemServer"
|
2019-05-15 21:30:00 +03:00
|
|
|
build_targets="$build_targets ../Servers/LookupServer"
|
|
|
|
build_targets="$build_targets ../Servers/WindowServer"
|
2019-07-12 20:28:01 +03:00
|
|
|
build_targets="$build_targets ../Servers/AudioServer"
|
2019-07-04 17:16:50 +03:00
|
|
|
build_targets="$build_targets ../Libraries/LibGUI"
|
|
|
|
build_targets="$build_targets ../Libraries/LibHTML"
|
2019-05-15 21:30:00 +03:00
|
|
|
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"
|
2019-06-10 21:26:54 +03:00
|
|
|
build_targets="$build_targets ../Applications/PaintBrush"
|
2019-06-23 17:35:43 +03:00
|
|
|
build_targets="$build_targets ../Applications/QuickShow"
|
2019-07-13 18:05:16 +03:00
|
|
|
build_targets="$build_targets ../Applications/Piano"
|
2019-07-16 22:25:50 +03:00
|
|
|
build_targets="$build_targets ../Applications/SystemDialog"
|
2019-05-15 21:30:00 +03:00
|
|
|
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"
|
2019-07-10 22:13:29 +03:00
|
|
|
build_targets="$build_targets ../Demos/HelloWorld2"
|
2019-05-15 21:30:00 +03:00
|
|
|
build_targets="$build_targets ../Demos/RetroFetch"
|
2019-05-24 23:47:01 +03:00
|
|
|
build_targets="$build_targets ../Demos/WidgetGallery"
|
2019-06-12 21:18:27 +03:00
|
|
|
build_targets="$build_targets ../Demos/Fire"
|
2019-05-17 21:40:38 +03:00
|
|
|
build_targets="$build_targets ." # the kernel
|
2019-05-15 21:30:00 +03:00
|
|
|
|
|
|
|
for targ in $build_targets; do
|
|
|
|
echo "Building $targ"
|
2019-05-28 12:53:16 +03:00
|
|
|
#(cd "$targ" && find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -exec clang-format -i {} \;)
|
2019-05-15 21:30:00 +03:00
|
|
|
$make_cmd -C "$targ" clean
|
|
|
|
$make_cmd -C "$targ"
|
|
|
|
|
|
|
|
if [ -f "$targ/install.sh" ]; then
|
|
|
|
echo "Installing $targ"
|
|
|
|
(cd "$targ" && ./install.sh)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2019-05-17 21:40:38 +03:00
|
|
|
# has no need to build separately, but install headers.
|
|
|
|
(cd ../AK && ./install.sh)
|
|
|
|
|
2019-07-03 19:03:39 +03:00
|
|
|
sudo -E ./build-image-qemu.sh
|
2018-11-09 03:25:31 +03:00
|
|
|
|