mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-23 15:50:49 +01:00
52 lines
1.3 KiB
Makefile
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)
|