Updated the build & makefile to allow for building the

I2C libraries again - but only if the right headers are
installed!
pull/6/head
Gordon Henderson 13 years ago
parent 95342e1f83
commit db925cea18

@ -30,6 +30,18 @@ To un-install wiringPi:
./build uninstall ./build uninstall
I2C:
If your system has the correct i2c-dev libraries and headers installed,
then the I2C helpers will be compiled into wiringPi. If you want to
use the I2C helpers and don't have them installed, then under Raspbian,
issue the command:
sudo apt-get install libi2c-dev
Consult the documentation for your system if you are not running Raspbian.
Gordon Henderson Gordon Henderson
projects@drogon.net projects@drogon.net

64
build

@ -1,20 +1,5 @@
#!/bin/bash #!/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
}
check-make-ok() check-make-ok()
{ {
if [ $? != 0 ]; then if [ $? != 0 ]; then
@ -28,7 +13,6 @@ check-make-ok()
fi fi
} }
if [ x$1 = "xclean" ]; then if [ x$1 = "xclean" ]; then
echo Cleaning echo Cleaning
echo echo
@ -38,8 +22,10 @@ if [ x$1 = "xclean" ]; then
make clean make clean
cd ../examples cd ../examples
make clean make clean
cd .. exit
elif [ x$1 = "xuninstall" ]; then fi
if [ x$1 = "xuninstall" ]; then
echo Uninstalling echo Uninstalling
echo echo
echo "WiringPi library" echo "WiringPi library"
@ -50,27 +36,37 @@ elif [ x$1 = "xuninstall" ]; then
cd ../gpio cd ../gpio
sudo make uninstall sudo make uninstall
cd .. cd ..
else exit
echo wiringPi Build script - please wait... fi
echo "wiringPi Build script"
echo "====================="
echo echo
# Check for I2C being installed... # Check for I2C being installed...
# ... and if-so, then automatically make the I2C helpers
# if [ ! -f /usr/include/linux/i2c-dev.h ]; then if [ -f /usr/include/linux/i2c-dev.h ]; then
# i2c-install grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h
# fi if [ $? = 0 ]; then
# grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h target=i2c
# if [ $? = 1 ]; then echo "Building wiringPi with the I2C helper libraries."
# i2c-install else
# fi target=all
echo "The wiringPi I2C helper libraries will not be built."
fi
fi
echo
echo "WiringPi library" echo "WiringPi library"
cd wiringPi cd wiringPi
sudo make uninstall sudo make uninstall
make make $target
check-make-ok check-make-ok
sudo make install sudo make install
check-make-ok check-make-ok
echo echo
echo "GPIO Utility" echo "GPIO Utility"
cd ../gpio cd ../gpio
@ -78,12 +74,12 @@ else
check-make-ok check-make-ok
sudo make install sudo make install
check-make-ok check-make-ok
echo
echo "Examples" # echo
cd ../examples # echo "Examples"
make # cd ../examples
cd .. # make
fi # cd ..
echo echo
echo All Done. echo All Done.

@ -49,8 +49,12 @@ SRC = wiringPi.c wiringPiFace.c wiringSerial.c wiringShift.c \
wiringPiSPI.c \ wiringPiSPI.c \
softPwm.c softServo.c softTone.c softPwm.c softServo.c softTone.c
SRC_I2C = wiringPiI2C.c
OBJ = $(SRC:.c=.o) OBJ = $(SRC:.c=.o)
OBJ_I2C = $(SRC_I2C:.c=.o)
all: $(DYNAMIC) all: $(DYNAMIC)
static: $(STATIC) static: $(STATIC)
@ -65,13 +69,17 @@ $(DYNAMIC): $(OBJ)
@echo "[Link (Dynamic)]" @echo "[Link (Dynamic)]"
@$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ) @$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ)
i2c: $(OBJ) $(OBJ_I2C)
@echo "[Link (Dynamic + I2C)]"
@$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ) $(OBJ_I2C)
.c.o: .c.o:
@echo [Compile] $< @echo [Compile] $<
@$(CC) -c $(CFLAGS) $< -o $@ @$(CC) -c $(CFLAGS) $< -o $@
.PHONEY: clean .PHONEY: clean
clean: clean:
rm -f $(OBJ) *~ core tags Makefile.bak libwiringPi.* rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
.PHONEY: tags .PHONEY: tags
tags: $(SRC) tags: $(SRC)
@ -124,7 +132,7 @@ uninstall:
.PHONEY: depend .PHONEY: depend
depend: depend:
makedepend -Y $(SRC) makedepend -Y $(SRC) $(SRC_I2C)
# DO NOT DELETE # DO NOT DELETE
@ -137,5 +145,8 @@ piNes.o: wiringPi.h piNes.h
lcd.o: wiringPi.h lcd.h lcd.o: wiringPi.h lcd.h
piHiPri.o: wiringPi.h piHiPri.o: wiringPi.h
piThread.o: wiringPi.h piThread.o: wiringPi.h
softPwm.o: wiringPi.h softPwm.h
wiringPiSPI.o: wiringPiSPI.h wiringPiSPI.o: wiringPiSPI.h
softPwm.o: wiringPi.h softPwm.h
softServo.o: wiringPi.h softServo.h
softTone.o: wiringPi.h softTone.h
wiringPiI2C.o: wiringPi.h wiringPiI2C.h

Loading…
Cancel
Save