Files
gpio-reader/wiringPi/test/Makefile
2025-06-01 11:36:56 +02:00

142 lines
4.3 KiB
Makefile

CC = gcc
CFLAGS = -Wall
LDFLAGS =
# Need BCM19 <-> BCM26, +PWM: BCM12 <-> BCM13, BCM18 <-> BCM17 connected (1kOhm)
tests = wiringpi_test0_version wiringpi_test1_sysfs wiringpi_test2_sysfs wiringpi_test3_device_wpi wiringpi_test4_device_phys wiringpi_test5_default wiringpi_test6_isr wiringpi_test61_isr2 wiringpi_test62_isr_wpin wiringpi_test7_bench wiringpi_test8_pwm wiringpi_test9_pwm
# Need XO hardware
xotests = wiringpi_xotest_test1_spi wiringpi_i2c_test1_pcf8574 wiringpi_test8_pwm wiringpi_test9_pwm
# Need PiFace hardware and BCM23 <-> BCM24 , BCM18 <-> BCM17 connected (1kOhm), and PiFace Out7<->In4, Out6<->In5, R0_NO<->In6, R0_NO<->In7, R_C<-100Ohm->GND
pifacetests = wiringpi_piface_test1 wiringpi_test8_pwm wiringpi_test9_pwm
all: $(tests) $(xotests) $(pifacetests) .gitignore
wiringpi_test0_version:
${CC} ${CFLAGS} wiringpi_test0_version.c -o wiringpi_test0_version -lwiringPi
wiringpi_test1_sysfs:
${CC} ${CFLAGS} wiringpi_test1_sysfs.c -o wiringpi_test1_sysfs -lwiringPi
wiringpi_test2_sysfs:
${CC} ${CFLAGS} wiringpi_test2_sysfs.c -o wiringpi_test2_sysfs -lwiringPi
wiringpi_test3_device_wpi:
${CC} ${CFLAGS} wiringpi_test3_device_wpi.c -o wiringpi_test3_device_wpi -lwiringPi
wiringpi_test4_device_phys:
${CC} ${CFLAGS} wiringpi_test4_device_phys.c -o wiringpi_test4_device_phys -lwiringPi
wiringpi_test5_default:
${CC} ${CFLAGS} wiringpi_test5_default.c -o wiringpi_test5_default -lwiringPi
wiringpi_test6_isr:
${CC} ${CFLAGS} wiringpi_test6_isr.c -o wiringpi_test6_isr -lwiringPi
wiringpi_test61_isr2:
${CC} ${CFLAGS} wiringpi_test61_isr2.c -o wiringpi_test61_isr2 -lwiringPi
wiringpi_test62_isr_wpin:
${CC} ${CFLAGS} wiringpi_test62_isr_wpin.c -o wiringpi_test62_isr_wpin -lwiringPi
wiringpi_test7_bench:
${CC} ${CFLAGS} wiringpi_test7_bench.c -o wiringpi_test7_bench -lwiringPi
wiringpi_test8_pwm:
${CC} ${CFLAGS} wiringpi_test8_pwm.c -o wiringpi_test8_pwm -lwiringPi
wiringpi_test9_pwm:
${CC} ${CFLAGS} wiringpi_test9_pwm.c -o wiringpi_test9_pwm -lwiringPi
wiringpi_piface_test1:
${CC} ${CFLAGS} wiringpi_piface_test1.c -o wiringpi_piface_test1 -lwiringPi -lwiringPiDev
wiringpi_xotest_test1_spi:
${CC} ${CFLAGS} wiringpi_xotest_test1_spi.c -o wiringpi_xotest_test1_spi -lwiringPi
wiringpi_i2c_test1_pcf8574:
${CC} ${CFLAGS} wiringpi_i2c_test1_pcf8574.c -o wiringpi_i2c_test1_pcf8574 -lwiringPi
test:
@error_state=false ; \
for t in $(tests) ; do \
echo === unit test: $${t} === ; \
if [ $${t} = *"8_pwm" ] || [ $${t} = *"9_pwm" ]; then \
time sudo ./$${t} ; \
else \
time ./$${t} ; \
fi ; \
if [ $$? -ne 0 ]; then \
error_state=true ; \
fi ; \
echo ; echo ; \
done ; \
if [ "$$error_state" = true ]; then \
echo "\n\e[5mSTD TEST FAILED\e[0m\n"; \
else \
echo "\n\e[5mSTD TEST SUCCESS\e[0m\n"; \
fi
xotest:
@error_state=false ; \
for t in $(tests) $(xotests) ; do \
echo === XO unit test: $${t} === ; \
if [ $${t} = *"8_pwm" ] || [ $${t} = *"9_pwm" ]; then \
time sudo ./$${t} ; \
else \
time ./$${t} ; \
fi ; \
if [ $$? -ne 0 ]; then \
error_state=true ; \
fi ; \
echo ; echo ; \
done
if [ "$$error_state" = true ]; then \
echo "\n\e[5mSTD/XO TEST FAILED\e[0m\n"; \
else \
echo "\n\e[5mSTD/XO TEST SUCCESS\e[0m\n"; \
fi
pifacetest:
@error_state=false ; \
for t in $(tests) $(pifacetests) ; do \
echo === PiFace unit test: $${t} === ; \
if [ $${t} = *"8_pwm" ] || [ $${t} = *"9_pwm" ]; then \
time sudo ./$${t} ; \
else \
time ./$${t} ; \
fi ; \
if [ $$? -ne 0 ]; then \
error_state=true ; \
fi ; \
echo ; echo ; \
done
if [ "$$error_state" = true ]; then \
echo "\n\e[5mPIFACE TEST FAILED\e[0m\n"; \
else \
echo "\n\e[5mPIFACE TEST SUCCESS\e[0m\n"; \
fi
# Add all binaries to a folder-local .gitignore file
.gitignore:
@echo "Updating test directory .gitignore..."
@if ! test -f "./.gitignore"; then \
echo "# This file is automatically generated by make." >> .gitignore; \
echo "# Git will ignore this file and all generated WiringPi test binaries in this folder." >> .gitignore; \
echo "/.gitignore" >> .gitignore; \
fi
@for t in $(tests) $(xotests) $(pifacetests) ; do \
if ! grep -q "/$$t" .gitignore; then \
echo "/$$t" >> .gitignore; \
echo "Added /$$t to .gitignore"; \
fi; \
done
clean:
for t in $(tests) $(xotests) $(pifacetests) ; do \
rm -fv $${t} ; \
done
rm -fv .gitignore