aboutsummaryrefslogtreecommitdiff
path: root/projects/hsm/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'projects/hsm/Makefile')
-rw-r--r--projects/hsm/Makefile50
1 files changed, 42 insertions, 8 deletions
diff --git a/projects/hsm/Makefile b/projects/hsm/Makefile
index f5546d8..7fd3ad6 100644
--- a/projects/hsm/Makefile
+++ b/projects/hsm/Makefile
@@ -1,19 +1,53 @@
PROJ = hsm
-SRCS = main.c
+# objs in addition to $(PROJ).o
+OBJS = mgmt-cli.o \
+ mgmt-firmware.o \
+ mgmt-bootloader.o \
+ mgmt-fpga.o \
+ mgmt-keystore.o \
+ mgmt-masterkey.o \
+ mgmt-misc.o \
+ mgmt-task.o \
+ log.o \
+ $(TOPLEVEL)/task.o
-OBJS = $(SRCS:.c=.o)
+CFLAGS += -DNUM_RPC_TASK=8
-CFLAGS += -I $(LIBHAL_DIR)
+CFLAGS += -I$(LIBHAL_SRC)
+CFLAGS += -I$(LIBCLI_SRC)
+CFLAGS += -I$(LIBTFM_BLD)
+CFLAGS += -Wno-missing-field-initializers
-LIBS += $(LIBHAL_DIR)/libhal.a $(LIBTFM_DIR)/libtfm.a
+LIBS += $(LIBHAL_BLD)/libhal.a $(LIBTFM_BLD)/libtfm.a
+LIBS += $(LIBCLI_BLD)/libcli.a
+
+LDFLAGS += -mcpu=cortex-m4 -mthumb -mlittle-endian -mthumb-interwork
+LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
+LDFLAGS += -Wl,--gc-sections
+
+ifdef DO_PROFILING
+LDFLAGS += --specs=rdimon.specs -lc -lrdimon
+endif
+
+ifdef DO_TASK_METRICS
+CFLAGS += -DDO_TASK_METRICS
+endif
+
+ifdef DO_TIMING
+CFLAGS += -DDO_TIMING
+CFLAGS += -I../cli-test
+CFLAGS += -DCLI_STACK_SIZE=65536
+OBJS += ../cli-test/mgmt-timing.o $(TOPLEVEL)/stm-dwt.o
+LDFLAGS += -lm
+endif
all: $(PROJ:=.elf)
-$(PROJ).elf: $(OBJS) $(BOARD_OBJS) $(LIBS)
- $(CC) $(CFLAGS) $^ -o $@ -T$(LDSCRIPT) -g -Wl,-Map=$(PROJ).map
- $(OBJCOPY) -O binary $(PROJ).elf $(PROJ).bin
- $(SIZE) $(PROJ).elf
+%.elf: %.o $(BOARD_OBJS) $(OBJS) $(LIBS)
+ $(CC) $^ -o $@ -T$(LDSCRIPT) -g -Wl,-Map=$*.map $(LDFLAGS)
+ $(OBJCOPY) -O binary $*.elf $*.bin
+ $(SIZE) $*.elf
clean:
rm -f *.o