Add make rule for RPI cross-build (required docker)

This commit is contained in:
Vasily Evseenko 2017-10-20 15:20:00 +03:00
parent 91ccda73d5
commit 34de17921b
2 changed files with 15 additions and 7 deletions

View File

@ -1,23 +1,29 @@
LDFLAGS=-lrt -lpcap -lsodium
CPPFLAGS=-Wall -O2
_LDFLAGS := $(LDFLAGS) -lrt -lpcap -lsodium
_CFLAGS := $(CFLAGS) -Wall -O2
all: rx tx keygen
%.o: %.c *.h
$(CC) -std=gnu99 -c -o $@ $< $(CPPFLAGS)
$(CC) -std=gnu99 -c -o $@ $< $(_CFLAGS)
%.o: %.cpp *.hpp *.h
$(CXX) -std=gnu++11 -c -o $@ $< $(CPPFLAGS)
$(CXX) -std=gnu++11 -c -o $@ $< $(_CFLAGS)
rx: rx.o radiotap.o fec.o wifibroadcast.o
$(CXX) -o $@ $^ $(LDFLAGS)
$(CXX) -o $@ $^ $(_LDFLAGS)
tx: tx.o fec.o wifibroadcast.o
$(CXX) -o $@ $^ $(LDFLAGS)
$(CXX) -o $@ $^ $(_LDFLAGS)
keygen: keygen.o
$(CC) -o $@ $^ $(LDFLAGS)
$(CC) -o $@ $^ $(_LDFLAGS)
build_rpi: clean
docker build rpi_docker -t wifibroadcast:rpi_raspbian
docker run -i -t --rm -v $(PWD):/build -v $(PWD):/rpxc/sysroot/build wifibroadcast:rpi_raspbian make CFLAGS=--sysroot=/rpxc/sysroot LDFLAGS="--sysroot=/rpxc/sysroot" CXX=arm-linux-gnueabihf-g++ CC=arm-linux-gnueabihf-gcc
mkdir -p dist
tar czf dist/wifibroadcast_rpi.tar.gz tx rx keygen -C scripts tx_standalone.sh rx_standalone.sh
clean:
rm -f rx tx *~ *.o

2
rpi_docker/Dockerfile Normal file
View File

@ -0,0 +1,2 @@
FROM sdthirlwall/raspberry-pi-cross-compiler
RUN install-raspbian libsodium-dev libpcap-dev