120 lines
1.8 KiB
Bash
Executable File
120 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Requires GNU Make, but some distros probably don't have the gmake symlink.
|
|
[ -z "$MAKE" ] && MAKE=make
|
|
|
|
while : ; do
|
|
if [ -f sys/rebuild.sh ]; then
|
|
break
|
|
fi
|
|
cd ..
|
|
if [ "`pwd`" = / ]; then
|
|
echo "Cant find sys/rebuild.sh"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
Rebuild() {
|
|
cd "$1" || exit 1
|
|
$MAKE clean
|
|
$MAKE -j8 || exit 1
|
|
cd -
|
|
}
|
|
|
|
Build() {
|
|
cd "$1" || exit 1
|
|
$MAKE -j8 || exit 1
|
|
cd -
|
|
}
|
|
|
|
RebuildIOSDebug() {
|
|
Rebuild libr/debug
|
|
# Rebuild libr/util
|
|
# Rebuild libr/core
|
|
Rebuild binr/radare2
|
|
$MAKE -C binr/radare2 ios-sign
|
|
if [ -n "${IOSIP}" ]; then
|
|
scp binr/radare2/radare2 root@"${IOSIP}:."
|
|
else
|
|
echo "Set IOSIP environment variable to scp the radare2 program"
|
|
fi
|
|
}
|
|
|
|
RebuildSpp() {
|
|
Rebuild shlr/spp
|
|
Rebuild libr/util
|
|
Rebuild libr/lang
|
|
}
|
|
|
|
RebuildJava() {
|
|
Rebuild shlr/java
|
|
Rebuild libr/asm
|
|
Rebuild libr/anal
|
|
Rebuild libr/bin
|
|
Rebuild libr/core
|
|
}
|
|
|
|
RebuildCapstone() {
|
|
if [ ! -d shlr/capstone ]; then
|
|
make -C shlr capstone
|
|
fi
|
|
Rebuild shlr/capstone
|
|
Rebuild libr/asm
|
|
Rebuild libr/anal
|
|
}
|
|
|
|
RebuildSdb() {
|
|
Rebuild shlr/sdb
|
|
Rebuild libr/util
|
|
}
|
|
|
|
RebuildFs() {
|
|
Rebuild shlr/grub
|
|
Rebuild libr/fs
|
|
}
|
|
|
|
RebuildBin() {
|
|
Rebuild libr/bin
|
|
Rebuild libr/core
|
|
}
|
|
|
|
RebuildGdb() {
|
|
Rebuild shlr/gdb
|
|
Rebuild libr/io
|
|
Rebuild libr/debug
|
|
}
|
|
|
|
RebuildWinkd() {
|
|
Rebuild shlr/winkd
|
|
Rebuild libr/io
|
|
Rebuild libr/debug
|
|
}
|
|
|
|
RebuildZip() {
|
|
Rebuild shlr/zip
|
|
Rebuild libr/io
|
|
}
|
|
|
|
RebuildTcc() {
|
|
Rebuild shlr/tcc
|
|
Rebuild libr/parse
|
|
}
|
|
|
|
case "$1" in
|
|
grub|fs)RebuildFs; ;;
|
|
bin) RebuildBin ; ;;
|
|
gdb) RebuildGdb ; ;;
|
|
winkd) RebuildWinkd ; ;;
|
|
sdb) RebuildSdb ; ;;
|
|
spp) RebuildSpp ; ;;
|
|
tcc) RebuildTcc ; ;;
|
|
bin) RebuildBin ; ;;
|
|
zip) RebuildZip ; ;;
|
|
java) RebuildJava ; ;;
|
|
iosdbg) RebuildIOSDebug ; ;;
|
|
capstone|cs) RebuildCapstone ; ;;
|
|
*)
|
|
echo "Usage: sys/rebuild.sh [gdb|java|capstone|sdb|iosdbg|cs|sdb|bin]"
|
|
;;
|
|
esac
|