1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-04 12:24:11 +01:00
LibrePilot/flight/PiOS/Common/Libraries/CMSIS2/library.mk
Oleg Semyonov 491e89b165 make: sort wildcard sources to make binaries identical on all platforms
Thanks to Amedee for finding the cause of the difference and CorvusCorax
for participating in the discussion.
2013-04-19 20:43:31 +02:00

28 lines
941 B
Makefile

#
# Rules to add CMSIS2 to a PiOS target
#
CMSIS2_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
EXTRAINCDIRS += $(CMSIS2_DIR)Include
# Rules to build the ARM DSP library
ifeq ($(USE_DSP_LIB), YES)
DSPLIB_NAME := dsp
CMSIS_DSPLIB := $(CMSIS2_DIR)DSP_Lib/Source
# Compile all files into output directory
DSPLIB_SRC := $(sort $(wildcard $(CMSIS_DSPLIB)/*/*.c))
DSPLIB_SRCBASE := $(notdir $(basename $(DSPLIB_SRC)))
$(foreach src, $(DSPLIB_SRC), $(eval $(call COMPILE_C_TEMPLATE, $(src))))
# Define the object files directory and a list of object files for the library
DSPLIB_OBJDIR = $(OUTDIR)
DSPLIB_OBJ = $(addprefix $(DSPLIB_OBJDIR)/, $(addsuffix .o, $(DSPLIB_SRCBASE)))
# Create a library file
$(eval $(call ARCHIVE_TEMPLATE, $(OUTDIR)/lib$(DSPLIB_NAME).a, $(DSPLIB_OBJ), $(DSPLIB_OBJDIR)))
# Add library to the list of linked objects
ALLLIB += $(OUTDIR)/lib$(DSPLIB_NAME).a
endif