-include nuttx-export-7.25/build/Make.defs

# Long calls are need to call from RAM into FLASH

ARCHCFLAGS += -mlong-calls
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
ARCHINCLUDES = -I. -isystem  nuttx-export-7.25/include

CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHINCLUDES) -pipe

CROSSDEV = arm-none-eabi-
CC = $(CROSSDEV)gcc
LD = $(CROSSDEV)ld
STRIP = $(CROSSDEV)strip --strip-unneeded

# Setup up linker command line options

LDELFFLAGS = -r -e main
LDELFFLAGS += -T gnu-elf.ld

# Ths might change in a different environment

OBJEXT ?= .o

# This is the generated ELF program

BIN = hello

# These are the sources files that we use

SRCS = hello.c
OBJS = $(SRCS:.c=$(OBJEXT))

# Build targets

all: $(BIN)
.PHONY: clean

$(OBJS): %$(OBJEXT): %.c
	$(CC) -c $(CFLAGS) $< -o $@

$(BIN): $(OBJS)
	$(LD) $(LDELFFLAGS) -o $@ $^
	$(STRIP) $(BIN)

clean:
	rm -f $(BIN)
	rm -f *.o
