mirror of https://github.com/wolfSSL/wolfBoot.git
60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
# Makefile
|
|
#
|
|
# Copyright (C) 2026 wolfSSL Inc.
|
|
#
|
|
# This file is part of wolfBoot.
|
|
#
|
|
# wolfBoot is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# wolfBoot is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
|
|
|
CC=arm-none-eabi-gcc
|
|
OBJCOPY ?= arm-none-eabi-objcopy
|
|
|
|
CFLAGS := -mcpu=cortex-m33 -mthumb -mcmse -Os -ffreestanding -fdata-sections -ffunction-sections -g -ggdb
|
|
CFLAGS += -I. -I../common -I../../../include -DEMU_STM32
|
|
CFLAGS += -DIMAGE_HEADER_SIZE=$(IMAGE_HEADER_SIZE)
|
|
LDFLAGS := -nostdlib -T target.ld -Wl,-gc-sections
|
|
LDLIBS := -Wl,--start-group -lc -lm -lgcc -lnosys -Wl,--end-group
|
|
NSC_OBJ :=
|
|
ifeq ($(TZEN),1)
|
|
CFLAGS += -DWOLFCRYPT_SECURE_MODE
|
|
NSC_OBJ := ../../../src/wolfboot_tz_nsc.o
|
|
endif
|
|
|
|
VPATH := ../common
|
|
|
|
COMMON_SRCS := emu_ivt.c emu_startup.c emu_syscalls.c emu_update.c emu_hal.c
|
|
LIBWOLFBOOT_SRC := ../../../src/libwolfboot.c
|
|
SRCS := $(COMMON_SRCS) uart.c
|
|
OBJS := $(SRCS:.c=.o) libwolfboot.o $(NSC_OBJ)
|
|
|
|
all: app.bin
|
|
|
|
app.elf: $(OBJS) target.ld
|
|
$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $@
|
|
|
|
app.bin: app.elf
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
libwolfboot.o: $(LIBWOLFBOOT_SRC)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -f $(SRCS:.c=.o) libwolfboot.o app.elf app.bin
|
|
|
|
.PHONY: all clean
|