64 lines
1.6 KiB
Makefile
64 lines
1.6 KiB
Makefile
#############################################################################
|
|
#
|
|
# Makefile for Raspberry Pi NRF24L01/NRF24L01+ hover controller
|
|
#
|
|
# Run:
|
|
# make clean; make
|
|
# sudo ./receiver
|
|
#############################################################################
|
|
prefix := /usr/local
|
|
|
|
# The recommended compiler flags for the Raspberry Pi
|
|
#CCFLAGS=-Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s
|
|
CPUFLAGS=-march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard
|
|
CFLAGS=-march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Ofast -Wall -pthread
|
|
|
|
RF_LIB=rf24
|
|
RF_LIB_DIR=/usr/local/lib
|
|
RF_HEADER_DIR=/usr/local/include/RF24
|
|
|
|
GPIO_LIB=pigpio
|
|
|
|
# define all programs
|
|
PROGRAMS = hover-controller
|
|
SOURCES = ${PROGRAMS:=.cpp}
|
|
|
|
PARTS = motors servos sensors dispatcher
|
|
PARTS_O = ${PARTS:=.o}
|
|
|
|
SEN_PARTS = sensors/temperature.o
|
|
|
|
|
|
all: ${PROGRAMS} tests
|
|
|
|
|
|
#${PROGRAMS}: ${SOURCES}
|
|
# $(CXX) $(CFLAGS) -I$(RF_HEADER_DIR) -L$(RF_LIB_DIR) -l$(RF_LIB) $@.cpp -o $@
|
|
|
|
hover-controller: hover-controller.cpp ${PARTS_O}
|
|
$(CXX) $(CFLAGS) -I$(RF_HEADER_DIR) -L$(RF_LIB_DIR) -l$(RF_LIB) -l$(GPIO_LIB) -lrt $@.cpp \
|
|
${SEN_PARTS} ${PARTS_O} -o $@
|
|
|
|
dispatcher.o: dispatcher.cpp
|
|
$(CXX) $(CFLAGS) dispatcher.cpp -o $@ -c
|
|
|
|
servos.o: servos.cpp
|
|
$(CXX) $(CFLAGS) servos.cpp -o $@ -c
|
|
|
|
motors.o: motors.cpp
|
|
$(CXX) $(CFLAGS) motors.cpp -o $@ -c
|
|
|
|
sensors.o: sensors.cpp ${SEN_PARTS}
|
|
$(CXX) $(CFLAGS) sensors.cpp -o $@ -c
|
|
|
|
sensors/%.o: sensors/%.cpp
|
|
$(CXX) $(CFLAGS) $< -o $@ -c
|
|
|
|
tests:
|
|
|
|
|
|
.PHONY: clean remake
|
|
clean:
|
|
rm -rf $(PROGRAMS) $(PARTS_O) *.o sensors/*.o
|
|
remake: clean all
|