spinix-hive/build_spinix

85 lines
1.8 KiB
Plaintext
Executable File

# Path defititions
##bin="/home/ftp/hive/spinix"
bin="../Bin/spinix"
sd="${bin}/sdcard"
flash="${bin}/flash"
# Clean directories and remake them
rm -rf ${bin}
mkdir -p ${bin}
mkdir ${sd}
mkdir ${flash}
mkdir ${sd}/bin
mkdir ${sd}/tmp
mkdir ${sd}/manpages
mkdir ${sd}/devel
mkdir ${sd}/demos
mkdir ${sd}/forth
mkdir ${sd}/scripts
# Build the boot program
./build_boot
# Copy license and startup script to root
cp license.txt ${sd}
cp src/_shellrc ${sd}/bin
# Generate _sysparm and copy to root
# - UNIX Time
# - timezone config shell_level
# - ifflag whileflag scriptline
# - ENV variable 1
# - ...
# - ENV variable n
date +%s >${sd}/_sysparm
echo 1 1 0 >>${sd}/_sysparm
echo 0 0 0 >>${sd}/_sysparm
echo "GPWD /" >>${sd}/_sysparm
echo "LSCRIPT_FILE /bin/_shellrc" >>${sd}/_sysparm
echo "P# 0" >>${sd}/_sysparm
# Build the bin apps
./build_src
# Copy the devel files
cp devel/* ${sd}/devel
# Copy the man pages
cp manpages/* ${sd}/manpages
# Build lerner
cp src/sysdefs.spin lerner/
cp src/exit.spin lerner/
bstc -b -O cgru lerner/lerner.spin
mv lerner.binary ${sd}/demos/lerner
# Build vga512
cp src/sysdefs.spin vga512/
cp src/exit.spin vga512/
bstc -b vga512/VGA_512x384_Bitmap_Demo.spin
mv VGA_512x384_Bitmap_Demo.binary ${sd}/demos/vga512
# Move vgatdemo from bin to demos
mv ${sd}/bin/vgatdemo ${sd}/demos
# Move the C demos
mv cdemos/dry/dry.binary ${sd}/demos/dry
mv cdemos/fibo/fibo.binary ${sd}/demos/fibo
mv cdemos/hello/hello.binary ${sd}/demos/hello
# Move C filetest program
mv filetest/filetest.binary ${sd}/demos/filetest
# Move C chess program
mv chess/chess.binary ${sd}/demos/chess
# Build pfth and copy the Forth files
bstc -b pfth/ospfth.spin
mv ospfth.binary ${sd}/bin/pfth
cp pfth/*.fth ${sd}/forth
cp pfth/*.txt ${sd}/forth
mv ${sd}/forth/_startup.fth ${sd}
# Copy the script files
cp scripts/* ${sd}/scripts