https://github.com/mupq/pqm4
Tip revision: a39a1723412769eefcf3e16a410db38176c7970c authored by Richard Petri on 24 January 2024, 11:29:33 UTC
Use fixed HAETAE reference
Use fixed HAETAE reference
Tip revision: a39a172
mps2-an386.mk
EXCLUDED_SCHEMES = \
mupq/crypto_sign/tuov_v/ref%
MPS2_DATA_IN_FLASH = 1
CROSS_PREFIX ?= arm-none-eabi
CC := $(CROSS_PREFIX)-gcc
CPP := $(CROSS_PREFIX)-cpp
AR := $(CROSS_PREFIX)-ar
LD := $(CC)
OBJCOPY := $(CROSS_PREFIX)-objcopy
SIZE := $(CROSS_PREFIX)-size
LDSCRIPT = obj/ldscript.ld
ARCH_FLAGS += -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16
CFLAGS += \
$(ARCH_FLAGS) \
--specs=nosys.specs
CPPFLAGS += \
-DMPS2_AN386
LDFLAGS += \
--specs=nosys.specs \
-Wl,--wrap=_sbrk \
-Wl,--wrap=_open \
-Wl,--wrap=_close \
-Wl,--wrap=_isatty \
-Wl,--wrap=_kill \
-Wl,--wrap=_lseek \
-Wl,--wrap=_read \
-Wl,--wrap=_write \
-Wl,--wrap=_fstat \
-Wl,--wrap=_getpid \
-Wl,--no-warn-rwx-segments \
-ffreestanding \
-T$(LDSCRIPT) \
$(ARCH_FLAGS)
LIBHAL_SRC := \
common/mps2/startup_MPS2.S \
common/hal-mps2.c \
common/randombytes.c
obj/libpqm4hal.a: $(call objs,$(LIBHAL_SRC))
obj/libpqm4hal-nornd.a: $(call objs,$(filter-out common/randombytes.c,$(LIBHAL_SRC)))
obj/libpqm4hal.a: CPPFLAGS += -Icommon/mps2
$(LDSCRIPT): CPPFLAGS += $(if $(MPS2_DATA_IN_FLASH),-DDATA_IN_FLASH)
obj/common/mps2/startup_MPS2.S.o: CPPFLAGS += $(if $(MPS2_DATA_IN_FLASH),-DDATA_IN_FLASH)
LDLIBS += -lpqm4hal$(if $(NO_RANDOMBYTES),-nornd)
LIBDEPS += obj/libpqm4hal.a obj/libpqm4hal-nornd.a
$(LDSCRIPT): common/mps2/MPS2.ld
@printf " GENLNK $@\n"; \
[ -d $(@D) ] || $(Q)mkdir -p $(@D); \
arm-none-eabi-gcc -x assembler-with-cpp -E -Wp,-P $(CPPFLAGS) $< -o $@
$(LDSCRIPT): CPPFLAGS += -Icommon/mps2
LINKDEPS += $(LDSCRIPT) $(LIBDEPS)
ENABLE_QEMU_TESTS = 1
QEMU = qemu-system-arm
QEMUFLAGS = -M mps2-an386 -nographic -semihosting