Files
Upsilon/ion/src/device/Makefile
2018-11-23 12:03:59 +01:00

52 lines
1.3 KiB
Makefile

include ion/src/device/boot/Makefile
include ion/src/device/bench/Makefile
include ion/src/device/usb/Makefile
ion/src/shared/platform_info.o: SFLAGS += -DHEADER_SECTION="__attribute__((section(\".header\")))"
objs += $(addprefix ion/src/shared/, \
console_line.o \
crc32_padded.o\
events_modifier.o \
)
# If you need to profile execution, you can replace events_keyboard with
# events_replay.o and dummy/events_modifier.o
objs += $(addprefix ion/src/device/, \
backlight.o \
battery.o\
base64.o\
console.o \
device.o\
display.o\
events.o\
flash.o\
keyboard.o\
led.o\
power.o\
sd_card.o\
stack.o\
swd.o \
timing.o \
usb.o \
wakeup.o \
)
# When using the register.h C++ file in production mode, we expect the compiler
# to completely inline all bit manipulations. For some reason, if we build using
# the -Os optimization flag, GCC doesn't inline everything and and ends up
# emitting calls to aeabi_llsl for 64-bits registers. This is very sub-optimal
# so we're enforcing -O3 for this specific file.
ifneq ($(DEBUG),1)
ifneq ($(COMPILER),llvm)
ion/src/device/led.o: SFLAGS+=-O3
ion/src/device/console.o: SFLAGS+=-O3
ion/src/device/display.o: SFLAGS+=-O3
ion/src/device/swd.o: SFLAGS+=-O3
endif
endif
#objs += $(addprefix ion/src/device/keyboard/, keyboard.o)