Sergey Markov
3 years ago
1 changed files with 0 additions and 298 deletions
@ -1,298 +0,0 @@
|
||||
#!/bin/bash -e |
||||
|
||||
# build |
||||
# Simple wiringPi build and install script |
||||
# |
||||
# Copyright (c) 2012-2015 Gordon Henderson |
||||
################################################################################# |
||||
# This file is part of wiringPi: |
||||
# A "wiring" library for the Raspberry Pi |
||||
# |
||||
# wiringPi is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU Lesser General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# wiringPi is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU Lesser General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU Lesser General Public License |
||||
# along with wiringPi. If not, see <http://www.gnu.org/licenses/>. |
||||
################################################################################# |
||||
# |
||||
# wiringPi is designed to run on a Raspberry Pi only. |
||||
# However if you're clever enough to actually look at this script to |
||||
# see why it's not building for you, then good luck. |
||||
# |
||||
# To everyone else: Stop using cheap alternatives. Support the |
||||
# Raspberry Pi Foundation as they're the only ones putting money |
||||
# back into education! |
||||
################################################################################# |
||||
|
||||
check_make_ok() { |
||||
if [ $? != 0 ]; then |
||||
echo "" |
||||
echo "Make Failed..." |
||||
echo "Please check the messages and fix any problems. If you're still stuck," |
||||
echo "then please email all the output and as many details as you can to" |
||||
echo " projects@drogon.net" |
||||
echo "" |
||||
exit 1 |
||||
fi |
||||
} |
||||
|
||||
select_boards() |
||||
{ |
||||
local cnt=0 |
||||
local choice |
||||
local call=${1} |
||||
|
||||
boards=("orangepir1" |
||||
"orangepizero" |
||||
"orangepizero-lts" |
||||
"orangepipc" |
||||
"orangepipch5" |
||||
"orangepipcplus" |
||||
"orangepiplus2e" |
||||
"orangepione" |
||||
"orangepioneh5" |
||||
"orangepilite" |
||||
"orangepiplus" |
||||
"orangepizeroplus2h3" |
||||
"orangepizeroplus" |
||||
"orangepipc2" |
||||
"orangepiprime" |
||||
"orangepizeroplus2h5" |
||||
"orangepiwin" |
||||
"orangepiwinplus" |
||||
"orangepi3" |
||||
"orangepi3-lts" |
||||
"orangepilite2" |
||||
"orangepioneplus" |
||||
"orangepi4" |
||||
"orangepi4-lts" |
||||
"orangepirk3399" |
||||
"orangepi800" |
||||
"orangepizero2" |
||||
"orangepizero2-lts" |
||||
"orangepizero2-b" |
||||
"orangepir1plus-lts" |
||||
"orangepir1plus") |
||||
|
||||
if [[ -f /etc/orangepi-release ]]; then |
||||
|
||||
source /etc/orangepi-release |
||||
|
||||
elif [[ -f /etc/armbian-release ]]; then |
||||
|
||||
source /etc/armbian-release |
||||
[[ $BOARD == orangepi-r1 ]] && BOARD=orangepir1 |
||||
[[ $BOARD == orangepi-rk3399 ]] && BOARD=orangepirk3399 |
||||
[[ $BOARD == orangepizeroplus2-h3 ]] && BOARD=orangepizeroplus2h3 |
||||
[[ $BOARD == orangepizeroplus2-h5 ]] && BOARD=orangepizeroplus2h5 |
||||
|
||||
else |
||||
|
||||
printf "All available boards:\n" |
||||
for var in ${boards[@]} ; do |
||||
printf "%4d. %s\n" $cnt ${boards[$cnt]} |
||||
((cnt+=1)) |
||||
done |
||||
|
||||
while true ; do |
||||
read -p "Choice: " choice |
||||
if [ -z "${choice}" ] ; then |
||||
continue |
||||
fi |
||||
if [ -z "${choice//[0-9]/}" ] ; then |
||||
if [ $choice -ge 0 -a $choice -lt $cnt ] ; then |
||||
export BOARD="${boards[$choice]}" |
||||
break |
||||
fi |
||||
fi |
||||
printf "Invalid input ...\n" |
||||
done |
||||
fi |
||||
|
||||
[[ $BOARD == orangepir1 ]] && BOARD=orangepir1-h2 |
||||
[[ $BOARD == orangepizero ]] && BOARD=orangepizero-h2 |
||||
[[ $BOARD == orangepizero-lts ]] && BOARD=orangepizero-h2 |
||||
[[ $BOARD == orangepipc ]] && BOARD=orangepipc-h3 |
||||
[[ $BOARD == orangepipch5 ]] && BOARD=orangepipc-h3 |
||||
[[ $BOARD == orangepipcplus ]] && BOARD=orangepipcplus-h3 |
||||
[[ $BOARD == orangepiplus2e ]] && BOARD=orangepiplus2e-h3 |
||||
[[ $BOARD == orangepione ]] && BOARD=orangepione-h3 |
||||
[[ $BOARD == orangepioneh5 ]] && BOARD=orangepione-h3 |
||||
[[ $BOARD == orangepilite ]] && BOARD=orangepilite-h3 |
||||
[[ $BOARD == orangepiplus ]] && BOARD=orangepiplus-h3 |
||||
[[ $BOARD == orangepizeroplus ]] && BOARD=orangepizeroplus-h5 |
||||
[[ $BOARD == orangepipc2 ]] && BOARD=orangepipc2-h5 |
||||
[[ $BOARD == orangepiprime ]] && BOARD=orangepiprime-h5 |
||||
[[ $BOARD == orangepiwin ]] && BOARD=orangepiwin-a64 |
||||
[[ $BOARD == orangepiwinplus ]] && BOARD=orangepiwinplus-a64 |
||||
[[ $BOARD == orangepi3 ]] && BOARD=orangepi3-h6 |
||||
[[ $BOARD == orangepi3-lts ]] && BOARD=orangepi3-h6 |
||||
[[ $BOARD == orangepilite2 ]] && BOARD=orangepilite2-h6 |
||||
[[ $BOARD == orangepioneplus ]] && BOARD=orangepioneplus-h6 |
||||
[[ $BOARD == orangepizero2 ]] && BOARD=orangepizero2-h616 |
||||
[[ $BOARD == orangepizero2-lts ]] && BOARD=orangepizero2-h616 |
||||
[[ $BOARD == orangepizero2-b ]] && BOARD=orangepizero2-h616 |
||||
[[ $BOARD == orangepir1plus ]] && BOARD=orangepir1plus-rk3328 |
||||
[[ $BOARD == orangepir1plus-lts ]] && BOARD=orangepir1plus-rk3328 |
||||
|
||||
export BOARD="${BOARD}" |
||||
} |
||||
|
||||
sudo=${WIRINGPI_SUDO-sudo} |
||||
|
||||
if [ x$1 = "xclean" ]; then |
||||
cd wiringPi |
||||
echo -n "wiringPi: " ; make clean |
||||
cd ../devLib |
||||
echo -n "DevLib: " ; make clean |
||||
cd ../gpio |
||||
echo -n "gpio: " ; make clean |
||||
cd ../examples |
||||
echo -n "Examples: " ; make clean |
||||
cd Gertboard |
||||
echo -n "Gertboard: " ; make clean |
||||
cd ../PiFace |
||||
echo -n "PiFace: " ; make clean |
||||
cd ../q2w |
||||
echo -n "Quick2Wire: " ; make clean |
||||
cd ../PiGlow |
||||
echo -n "PiGlow: " ; make clean |
||||
cd ../scrollPhat |
||||
echo -n "scrollPhat: " ; make clean |
||||
cd ../.. |
||||
echo -n "Deb: " ; rm -f debian-template/wiringpi*.deb |
||||
echo |
||||
exit |
||||
fi |
||||
|
||||
if [ x$1 = "xuninstall" ]; then |
||||
cd wiringPi |
||||
echo -n "wiringPi: " ; $sudo make uninstall |
||||
cd ../devLib |
||||
echo -n "DevLib: " ; $sudo make uninstall |
||||
cd ../gpio |
||||
echo -n "gpio: " ; $sudo make uninstall |
||||
exit |
||||
fi |
||||
|
||||
# Only if you know what you're doing! |
||||
|
||||
if [ x$1 = "xdebian" ]; then |
||||
here=`pwd` |
||||
echo "removing old libs" |
||||
cd debian-template/wiringPi |
||||
rm -rf usr |
||||
echo "building wiringPi" |
||||
cd $here/wiringPi |
||||
make install-deb |
||||
echo "building devLib" |
||||
cd $here/devLib |
||||
make install-deb INCLUDE='-I. -I../wiringPi' |
||||
echo "building gpio" |
||||
cd $here/gpio |
||||
make install-deb INCLUDE='-I../wiringPi -I../devLib' LDFLAGS=-L../debian-template/wiringPi/usr/lib |
||||
echo "Building deb package" |
||||
cd $here/debian-template |
||||
fakeroot dpkg-deb --build wiringPi |
||||
mv wiringPi.deb wiringpi-`cat $here/VERSION`-1.deb |
||||
exit |
||||
fi |
||||
|
||||
if [ x$1 != "x" ]; then |
||||
echo "Usage: $0 [clean | uninstall]" |
||||
exit 1 |
||||
fi |
||||
|
||||
select_boards |
||||
|
||||
echo "wiringPi Build script" |
||||
echo "=====================" |
||||
echo |
||||
|
||||
hardware=`fgrep Hardware /proc/cpuinfo | head -1 | awk '{ print $3 }'` |
||||
|
||||
# if [ x$hardware != "xBCM2708" ]; then |
||||
# echo "" |
||||
# echo " +------------------------------------------------------------+" |
||||
# echo " | wiringPi is designed to run on the Raspberry Pi only. |" |
||||
# echo " | This processor does not appear to be a Raspberry Pi. |" |
||||
# echo " +------------------------------------------------------------+" |
||||
# echo " | In the unlikely event that you think it is a Raspberry Pi, |" |
||||
# echo " | then please accept my apologies and email the contents of |" |
||||
# echo " | /proc/cpuinfo to projects@drogon.net. |" |
||||
# echo " | - Thanks, Gordon |" |
||||
# echo " +------------------------------------------------------------+" |
||||
# echo "" |
||||
# exit 1 |
||||
# fi |
||||
|
||||
|
||||
echo |
||||
echo "WiringPi Library" |
||||
cd wiringPi |
||||
$sudo make uninstall |
||||
if [ x$1 = "xstatic" ]; then |
||||
make -j5 static |
||||
check_make_ok |
||||
$sudo make install-static |
||||
else |
||||
make -j5 |
||||
check_make_ok |
||||
$sudo make install |
||||
fi |
||||
check_make_ok |
||||
|
||||
echo |
||||
echo "WiringPi Devices Library" |
||||
cd ../devLib |
||||
$sudo make uninstall |
||||
if [ x$1 = "xstatic" ]; then |
||||
make -j5 static |
||||
check_make_ok |
||||
$sudo make install-static |
||||
else |
||||
make -j5 |
||||
check_make_ok |
||||
$sudo make install |
||||
fi |
||||
check_make_ok |
||||
|
||||
echo |
||||
echo "GPIO Utility" |
||||
cd ../gpio |
||||
make -j5 |
||||
check_make_ok |
||||
$sudo make install |
||||
check_make_ok |
||||
|
||||
# echo |
||||
# echo "wiringPi Daemon" |
||||
# cd ../wiringPiD |
||||
# make -j5 |
||||
# check_make_ok |
||||
# $sudo make install |
||||
# check_make_ok |
||||
|
||||
# echo |
||||
# echo "Examples" |
||||
# cd ../examples |
||||
# make |
||||
# cd .. |
||||
|
||||
echo |
||||
echo All Done. |
||||
echo "" |
||||
echo "NOTE: To compile programs with wiringPi, you need to add:" |
||||
echo " -lwiringPi" |
||||
echo " to your compile line(s) To use the Gertboard, MaxDetect, etc." |
||||
echo " code (the devLib), you need to also add:" |
||||
echo " -lwiringPiDev" |
||||
echo " to your compile line(s)." |
||||
echo "" |
Loading…
Reference in new issue