blob: 2225848ae64687b21cebfc2b6b0404ef65a5ffa2 [file] [log] [blame]
# Settings for Raspberry Pi.
ifeq ($(TARGET),rpi)
# Default to the architecture used on the Pi Two/Three (ArmV7), but override this
# with TARGET_ARCH=armv6 to build for the Pi Zero or One.
TARGET_ARCH := armv7l
ifeq ($(TARGET_ARCH), armv7l)
TARGET_TOOLCHAIN_PREFIX := arm-linux-gnueabihf-
CXXFLAGS += \
-march=armv7-a \
-mfpu=neon-vfpv4 \
-funsafe-math-optimizations \
-ftree-vectorize \
-fPIC
CFLAGS += \
-march=armv7-a \
-mfpu=neon-vfpv4 \
-funsafe-math-optimizations \
-ftree-vectorize \
-fPIC
LDFLAGS := \
-Wl,--no-export-dynamic \
-Wl,--exclude-libs,ALL \
-Wl,--gc-sections \
-Wl,--as-needed
BUILD_WITH_RUY := true
endif
# TODO(petewarden) In the future, we'll want to use OpenBLAS as a faster
# alternative to Eigen on non-NEON ARM hardware like armv6.
ifeq ($(TARGET_ARCH), armv6)
TARGET_TOOLCHAIN_PREFIX := arm-linux-gnueabi-
CXXFLAGS += \
-march=armv6 \
-mfpu=vfp \
-funsafe-math-optimizations \
-ftree-vectorize \
-fPIC
CFLAGS += \
-march=armv6 \
-mfpu=vfp \
-funsafe-math-optimizations \
-ftree-vectorize \
-fPIC
LDFLAGS := \
-Wl,--no-export-dynamic \
-Wl,--exclude-libs,ALL \
-Wl,--gc-sections \
-Wl,--as-needed
endif
LIBS := \
-latomic \
-lstdc++ \
-lpthread \
-lm \
-ldl
endif