X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=build;h=d38ad1ba9c188e8a7bf1eaba97992d5417698b2f;hb=72b2af231be337d45a557ce6ca3ed1eeb6675ffd;hp=2afafa665cff04f38f8b817972c3c8c20d5f6ea9;hpb=be04c1bd52fbc787eb741a2a87fcebe40f571a0d;p=wiringPi.git diff --git a/build b/build index 2afafa6..d38ad1b 100755 --- a/build +++ b/build @@ -1,22 +1,37 @@ -#!/bin/bash - -i2c-install() -{ - echo "* wiringPi needs the I2C Development Libraires installing." - echo "" - echo "If using Debian/Raspbian, then type this command:" - echo " sudo apt-get install libi2c-dev" - echo "then run ./build again." - echo "" - echo "If using another Linux distribution, then you will have to" - echo "work out how to install the I2C Developmen Libraries for your" - echo "system. (Sorry - I don't know - do let me know though!)" - echo "" - exit 1 -} +#!/bin/sh + +# build +# Simple wiringPi build and install script +# +# Copyright (c) 2012-2015 Gordon Henderson +################################################################################# +# This file is part of wiringPi: +# Wiring Compatable 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 . +################################################################################# +# +# 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() -{ +check_make_ok() { if [ $? != 0 ]; then echo "" echo "Make Failed..." @@ -28,62 +43,132 @@ check-make-ok() fi } - if [ x$1 = "xclean" ]; then - echo Cleaning - echo cd wiringPi - make clean + echo -n "wiringPi: " ; make clean + cd ../devLib + echo -n "DevLib: " ; make clean cd ../gpio - make clean + echo -n "gpio: " ; make clean cd ../examples - make clean - cd .. -elif [ x$1 = "xuninstall" ]; then - echo Uninstalling - echo - echo "WiringPi library" + 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 + exit +fi + +if [ x$1 = "xuninstall" ]; then cd wiringPi - sudo make uninstall - echo - echo "GPIO Utility" + echo -n "wiringPi: " ; sudo make uninstall + cd ../devLib + echo -n "DevLib: " ; sudo make uninstall cd ../gpio - sudo make uninstall - cd .. -else - echo wiringPi Build script - please wait... + echo -n "gpio: " ; sudo make uninstall + exit +fi + +# Only if you know what you're doing! + +if [ x$1 = "xdebian" ]; then + here=`pwd` + cd debian/wiringPi + rm -rf usr + cd $here/wiringPi + make install-deb + cd $here/devLib + make install-deb + cd $here/gpio + make install-deb + cd $here/debian + 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 + + echo "wiringPi Build script" + echo "=====================" echo -# Check for I2C being installed... + 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 - if [ ! -f /usr/include/linux/i2c-dev.h ]; then - i2c-install - fi - grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h - if [ $? = 1 ]; then - i2c-install - fi - echo "WiringPi library" + echo + echo "WiringPi Library" cd wiringPi sudo make uninstall - make - check-make-ok - sudo make install - check-make-ok + 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 - check-make-ok + make -j5 + check_make_ok sudo make install - check-make-ok - echo - echo "Examples" - cd ../examples - make - cd .. -fi + 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 ""