quinn-os/make_userland.sh
2022-07-14 16:32:13 +10:00

216 lines
8.4 KiB
Bash
Executable File

#!/bin/bash -e
CFLAGS=-Werror
if [ -e $HOME/Quinn/fsroot ]
then
echo "${HOME}/Quinn/fsroot exists! Please move it out of the way (or delete it)"
exit
fi
mkdir $HOME/Quinn/fsroot
mkdir $HOME/Quinn/fsroot/utilities
mkdir $HOME/Quinn/fsroot/gui
mkdir -p $HOME/Quinn/fsroot/system/data
cd $HOME/Quinn/src/quinn-os/programs/show/
i686-quinn-gcc $CFLAGS show.c -o show.exe
i686-quinn-strip show.exe
mv show.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/ether/
i686-quinn-gcc $CFLAGS ether.c -o ether.exe
i686-quinn-strip ether.exe
mv ether.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/route/
i686-quinn-gcc $CFLAGS route.c -o route.exe
i686-quinn-strip route.exe
mv route.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/init/
i686-quinn-gcc $CFLAGS init.c -o init.exe
i686-quinn-strip init.exe
mv init.exe $HOME/Quinn/fsroot/
cd $HOME/Quinn/src/quinn-os/programs/shell/
i686-quinn-gcc $CFLAGS shell.c -o shell.exe
i686-quinn-strip shell.exe
mv shell.exe $HOME/Quinn/fsroot/
cd $HOME/Quinn/src/quinn-os/programs/kill/
i686-quinn-gcc $CFLAGS kill.c -o kill.exe
i686-quinn-strip kill.exe
mv kill.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/ps/
i686-quinn-gcc $CFLAGS main.c -o ps.exe
i686-quinn-strip ps.exe
mv ps.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/network/sockstat/
i686-quinn-gcc $CFLAGS main.c -o sockstat.exe
i686-quinn-strip sockstat.exe
mv sockstat.exe $HOME/Quinn/fsroot/utilities
cd $HOME/Quinn/src/quinn-os/programs/pcilist/
i686-quinn-gcc $CFLAGS pcilist.c -o pcilist.exe
i686-quinn-strip pcilist.exe
mv pcilist.exe $HOME/Quinn/fsroot/utilities
cp pci.ids $HOME/Quinn/fsroot/system/data
cd $HOME/Quinn/src/quinn-os/programs/sysfont/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c sysfont.c
i686-quinn-gcc $CFLAGS sysfont.o -o sysfont.exe
i686-quinn-strip sysfont.exe
mv sysfont.exe $HOME/Quinn/fsroot/gui
rm sysfont.o
cd $HOME/Quinn/src/quinn-os/programs/cscheme/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c cscheme.c
i686-quinn-gcc $CFLAGS cscheme.o -o cscheme.exe
i686-quinn-strip cscheme.exe
mv cscheme.exe $HOME/Quinn/fsroot/gui
rm cscheme.o
cd $HOME/Quinn/src/quinn-os/programs/wallpaper/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c wallpaper.c
i686-quinn-gcc $CFLAGS wallpaper.o $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o wallpaper.exe
i686-quinn-strip wallpaper.exe
mv wallpaper.exe $HOME/Quinn/fsroot/gui
rm wallpaper.o
cd $HOME/Quinn/src/quinn-os/programs/gui/clock/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c clock.c
i686-quinn-gcc $CFLAGS clock.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o clock.exe
i686-quinn-strip clock.exe
mv clock.exe $HOME/Quinn/fsroot/gui
rm clock.o
cd $HOME/Quinn/src/quinn-os/programs/gui/launcher/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c launcher.c
i686-quinn-gcc $CFLAGS launcher.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o launcher.exe
i686-quinn-strip launcher.exe
mv launcher.exe $HOME/Quinn/fsroot/gui
rm launcher.o
cd $HOME/Quinn/src/quinn-os/programs/gui/filemanager/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c filemanager.c
i686-quinn-gcc $CFLAGS filemanager.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o filemanager.exe
i686-quinn-strip filemanager.exe
mv filemanager.exe $HOME/Quinn/fsroot/gui
rm filemanager.o
cd $HOME/Quinn/src/quinn-os/programs/gui/edit/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c edit.c
i686-quinn-gcc $CFLAGS edit.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o edit.exe
i686-quinn-strip edit.exe
mv edit.exe $HOME/Quinn/fsroot/gui
rm edit.o
cd $HOME/Quinn/src/quinn-os/programs/gui/meminfo/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c meminfo.c
i686-quinn-gcc $CFLAGS meminfo.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o meminfo.exe
i686-quinn-strip meminfo.exe
mv meminfo.exe $HOME/Quinn/fsroot/gui
rm meminfo.o
cd $HOME/Quinn/src/quinn-os/programs/gui/syscolours/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c syscolours.c
i686-quinn-gcc $CFLAGS syscolours.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o syscolours.exe
i686-quinn-strip syscolours.exe
mv syscolours.exe $HOME/Quinn/fsroot/gui
rm syscolours.o
cd $HOME/Quinn/src/quinn-os/programs/gui/terminal/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c terminal.c
i686-quinn-gcc $CFLAGS -c font.c
i686-quinn-gcc $CFLAGS terminal.o font.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o terminal.exe
i686-quinn-strip terminal.exe
mv terminal.exe $HOME/Quinn/fsroot/gui
rm terminal.o
mkdir $HOME/Quinn/fsroot/games
cd $HOME/Quinn/src/quinn-os/programs/gui/klondike/
cp -r cards $HOME/Quinn/fsroot/games/
i686-quinn-gcc $CFLAGS -I$HOME/Quinn/sysroot/usr/include -c klondike.c
i686-quinn-gcc $CFLAGS klondike.o $HOME/Quinn/sysroot/usr/lib/libquinn.a $HOME/Quinn/sysroot/usr/lib/libfreetype.a $HOME/Quinn/sysroot/usr/lib/libpng.a $HOME/Quinn/sysroot/usr/lib/libz.a -o klondike.exe
i686-quinn-strip klondike.exe
mv klondike.exe $HOME/Quinn/fsroot/games
rm klondike.o
cd $HOME/Quinn/src/quinn-os/programs/network/quinn_net/
i686-quinn-gcc $CFLAGS -c quinn_net.c
i686-quinn-gcc $CFLAGS -c url_parser.c
i686-quinn-gcc $CFLAGS -c hashmap.c
cd $HOME/Quinn/src/quinn-os/programs/network/hget/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c hget.c
i686-quinn-gcc $CFLAGS hget.o ../quinn_net/hashmap.o ../quinn_net/url_parser.o ../quinn_net/quinn_net.o -o hget.exe
i686-quinn-strip hget.exe
mv hget.exe $HOME/Quinn/fsroot/utilities
rm hget.o
cd $HOME/Quinn/src/quinn-os/programs/network/dhcpc/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c dhcpc.c
i686-quinn-gcc $CFLAGS dhcpc.o ../quinn_net/hashmap.o ../quinn_net/url_parser.o ../quinn_net/quinn_net.o -o dhcpc.exe
i686-quinn-strip dhcpc.exe
mv dhcpc.exe $HOME/Quinn/fsroot/utilities
rm dhcpc.o
cd $HOME/Quinn/src/quinn-os/programs/network/telnet/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c telnet.c
i686-quinn-gcc $CFLAGS telnet.o ../quinn_net/hashmap.o ../quinn_net/quinn_net.o -o telnet.exe
i686-quinn-strip telnet.exe
mv telnet.exe $HOME/Quinn/fsroot/utilities
rm telnet.o
cd $HOME/Quinn/src/quinn-os/programs/network/ircbot/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c ircbot.c
i686-quinn-gcc $CFLAGS ircbot.o ../quinn_net/hashmap.o ../quinn_net/quinn_net.o -o ircbot.exe
i686-quinn-strip ircbot.exe
mv ircbot.exe $HOME/Quinn/fsroot/utilities
rm ircbot.o
cd $HOME/Quinn/src/quinn-os/programs/network/dnstest/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c dnstest.c
i686-quinn-gcc $CFLAGS dnstest.o ../quinn_net/hashmap.o ../quinn_net/quinn_net.o -o dnstest.exe
i686-quinn-strip dnstest.exe
mv dnstest.exe $HOME/Quinn/fsroot/utilities
rm dnstest.o
cd $HOME/Quinn/src/quinn-os/programs/network/www/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c wwwserver.c
i686-quinn-gcc $CFLAGS wwwserver.o ../quinn_net/hashmap.o ../quinn_net/quinn_net.o -o wwwserver.exe
i686-quinn-strip wwwserver.exe
mv wwwserver.exe $HOME/Quinn/fsroot/utilities
rm wwwserver.o
cd $HOME/Quinn/src/quinn-os/programs/network/qirc/
i686-quinn-gcc $CFLAGS -I../quinn_net/ -c qirc.c
i686-quinn-gcc $CFLAGS qirc.o ../quinn_net/hashmap.o ../quinn_net/quinn_net.o -o qirc.exe
i686-quinn-strip qirc.exe
mv qirc.exe $HOME/Quinn/fsroot/utilities
rm qirc.o
rm ../quinn_net/quinn_net.o
rm ../quinn_net/url_parser.o
rm ../quinn_net/hashmap.o
cd $HOME/Quinn/src/quinn-os/programs/minizip
make
i686-quinn-strip mzip.exe
i686-quinn-strip munzip.exe
cp mzip.exe $HOME/Quinn/fsroot/utilities
cp munzip.exe $HOME/Quinn/fsroot/utilities
make clean
cd $HOME/Quinn/fsroot
mkdir fonts
cp $HOME/Quinn/src/quinn-os/fonts/DejaVuSans.ttf ./fonts
cp $HOME/Quinn/src/quinn-os/fonts/DejaVuSansMono.ttf ./fonts
cp $HOME/Quinn/src/quinn-os/fonts/LICENSE ./fonts
cp -r $HOME/Quinn/src/quinn-os/misc/* .
echo "DONE!"