Browse Source

build: added support for board specific tags in build_binaries

make it possible to build an APM2 specific build
master
Andrew Tridgell 11 years ago
parent
commit
58c66f255c
  1. 39
      Tools/scripts/build_binaries.sh

39
Tools/scripts/build_binaries.sh

@ -23,22 +23,32 @@ binaries=$PWD/../buildlogs/binaries
checkout() { checkout() {
vehicle="$1" vehicle="$1"
tag="$2" tag="$2"
board="$3"
git stash git stash
if [ "$tag" = "latest" ]; then if [ "$tag" = "latest" ]; then
vtag="master" vtag="master"
vtag2="master"
else else
vtag="$vehicle-$tag" vtag="$vehicle-$tag-$board"
vtag2="$vehicle-$tag"
fi fi
git checkout "$vtag" || return 1
(cd ../PX4NuttX && git checkout "$vtag") || { git checkout "$vtag" || git checkout "$vtag2" || return 1
git checkout master
pushd ../../PX4NuttX
git checkout "$vtag" || git checkout "$vtag2" || git checkout master || {
popd
return 1 return 1
} }
(cd ../PX4Firmware && git checkout "$vtag") || { popd
git checkout master
(cd ../PX4NuttX && git checkout master) pushd ../../PX4Firmware
git checkout "$vtag" || git checkout "$vtag2" || git checkout master || {
popd
return 1 return 1
} }
popd
return 0 return 0
} }
@ -97,9 +107,9 @@ copyit() {
build_arduplane() { build_arduplane() {
tag="$1" tag="$1"
echo "Building ArduPlane $tag binaries" echo "Building ArduPlane $tag binaries"
checkout ArduPlane $tag || return
pushd ArduPlane pushd ArduPlane
for b in apm1 apm2 apm1-hilsensors apm2-hilsensors; do for b in apm1 apm2 apm1-hilsensors apm2-hilsensors; do
checkout ArduPlane $tag $b || continue
echo "Building ArduPlane $b binaries" echo "Building ArduPlane $b binaries"
ddir=$binaries/Plane/$hdate/$b ddir=$binaries/Plane/$hdate/$b
skip_build $tag $ddir && continue skip_build $tag $ddir && continue
@ -111,6 +121,7 @@ build_arduplane() {
test -n "$PX4_ROOT" && { test -n "$PX4_ROOT" && {
echo "Building ArduPlane PX4 binaries" echo "Building ArduPlane PX4 binaries"
ddir=$binaries/Plane/$hdate/PX4 ddir=$binaries/Plane/$hdate/PX4
checkout ArduPlane $tag PX4
skip_build $tag $ddir || { skip_build $tag $ddir || {
make px4-clean && make px4-clean &&
make px4 && make px4 &&
@ -124,18 +135,18 @@ build_arduplane() {
fi fi
} }
} }
checkout ArduPlane "latest" ""
popd popd
checkout ArduPlane "latest"
} }
# build copter binaries # build copter binaries
build_arducopter() { build_arducopter() {
tag="$1" tag="$1"
checkout ArduCopter $tag || return
echo "Building ArduCopter $tag binaries" echo "Building ArduCopter $tag binaries"
pushd ArduCopter pushd ArduCopter
frames="quad tri hexa y6 octa octa-quad heli" frames="quad tri hexa y6 octa octa-quad heli"
for b in apm1 apm2; do for b in apm1 apm2; do
checkout ArduCopter $tag $b
for f in $frames quad-hil heli-hil; do for f in $frames quad-hil heli-hil; do
echo "Building ArduCopter $b-$f binaries" echo "Building ArduCopter $b-$f binaries"
ddir="$binaries/Copter/$hdate/$b-$f" ddir="$binaries/Copter/$hdate/$b-$f"
@ -147,6 +158,7 @@ build_arducopter() {
done done
done done
test -n "$PX4_ROOT" && { test -n "$PX4_ROOT" && {
checkout ArduCopter $tag PX4
make px4-clean || return make px4-clean || return
for f in $frames quad-hil heli-hil; do for f in $frames quad-hil heli-hil; do
echo "Building ArduCopter PX4-$f binaries" echo "Building ArduCopter PX4-$f binaries"
@ -158,18 +170,18 @@ build_arducopter() {
copyit ArduCopter-v2.px4 $ddir $tag copyit ArduCopter-v2.px4 $ddir $tag
done done
} }
checkout ArduCopter "latest" ""
popd popd
checkout ArduCopter "latest"
} }
# build rover binaries # build rover binaries
build_rover() { build_rover() {
tag="$1" tag="$1"
checkout APMrover2 $tag || return
echo "Building APMrover2 $tag binaries" echo "Building APMrover2 $tag binaries"
pushd APMrover2 pushd APMrover2
for b in apm1 apm2 apm1-1280; do for b in apm1 apm2 apm1-1280; do
echo "Building APMrover2 $b binaries" echo "Building APMrover2 $b binaries"
checkout APMrover2 $tag $b || continue
ddir=$binaries/Rover/$hdate/$b ddir=$binaries/Rover/$hdate/$b
skip_build $tag $ddir && continue skip_build $tag $ddir && continue
make clean || continue make clean || continue
@ -180,6 +192,7 @@ build_rover() {
test -n "$PX4_ROOT" && { test -n "$PX4_ROOT" && {
echo "Building APMrover2 PX4 binaries" echo "Building APMrover2 PX4 binaries"
ddir=$binaries/Rover/$hdate/PX4 ddir=$binaries/Rover/$hdate/PX4
checkout APMrover2 $tag PX4 || continue
skip_build $tag $ddir || { skip_build $tag $ddir || {
make px4-clean && make px4-clean &&
make px4 && make px4 &&
@ -187,8 +200,8 @@ build_rover() {
copyit APMrover2-v2.px4 $binaries/Rover/$hdate/PX4 $tag copyit APMrover2-v2.px4 $binaries/Rover/$hdate/PX4 $tag
} }
} }
checkout APMrover2 "latest" ""
popd popd
checkout APMrover2 "latest"
} }
for build in stable beta latest; do for build in stable beta latest; do

Loading…
Cancel
Save