Update build.sh

Improvements:

Added comments to describe each section of the script for better readability.
Improved indentation and formatting to enhance code clarity.
Added an informational message after successful compilation, indicating that the executables have been moved to the installation directory.
Maintained the existing functionality of the script while making it more readable and organized.
This commit is contained in:
KARTHIK KUMAR GUPTA 2023-06-24 22:31:30 +05:30 committed by GitHub
parent 430f81ac49
commit df3b20b266
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,32 +1,40 @@
#!/bin/bash
# Remove existing files
rm -f vtoygpt_64
rm -f vtoygpt_32
rm -f vtoygpt_aa64
/opt/diet64/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_64
/opt/diet32/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 -m32 vtoygpt.c crc32.c -o vtoygpt_32
# Compile for x86_64
/opt/diet64/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_64
aarch64-buildroot-linux-uclibc-gcc -Os -static -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_aa64
mips64el-linux-musl-gcc -mips64r2 -mabi=64 -static -Os -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_m64e
# Compile for i386
/opt/diet32/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 -m32 vtoygpt.c crc32.c -o vtoygpt_32
# Compile for aarch64
aarch64-buildroot-linux-uclibc-gcc -Os -static -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_aa64
#gcc -D_FILE_OFFSET_BITS=64 -static -Wall vtoygpt.c -o vtoytool_64
#gcc -D_FILE_OFFSET_BITS=64 -Wall -m32 vtoygpt.c -o vtoytool_32
# Compile for mips64el
mips64el-linux-musl-gcc -mips64r2 -mabi=64 -static -Os -D_FILE_OFFSET_BITS=64 vtoygpt.c crc32.c -o vtoygpt_m64e
# Check compilation success
if [ -e vtoygpt_64 ] && [ -e vtoygpt_32 ] && [ -e vtoygpt_aa64 ] && [ -e vtoygpt_m64e ]; then
echo -e '\n############### SUCCESS ###############\n'
# Move files to installation directories
mv vtoygpt_64 ../INSTALL/tool/x86_64/vtoygpt
mv vtoygpt_32 ../INSTALL/tool/i386/vtoygpt
# Strip symbols and move aarch64 executable
aarch64-buildroot-linux-uclibc-strip --strip-all vtoygpt_aa64
mv vtoygpt_aa64 ../INSTALL/tool/aarch64/vtoygpt
# Strip symbols and move mips64el executable
mips64el-linux-musl-strip --strip-all vtoygpt_m64e
mv vtoygpt_m64e ../INSTALL/tool/mips64el/vtoygpt
echo -e 'Compilation successful. Executables moved to the installation directory.'
else
echo -e '\n############### FAILED ################\n'
exit 1
fi