Files
remotesyn/examples/zynq7000/SW/Makefile
2022-09-08 13:58:03 +02:00

68 lines
2.0 KiB
Makefile

.SILENT:
TARGET := app.elf
BUILDROOT ?= $(shell pwd)
BUILDDIR := build
SRCDIRS := $(BUILDROOT)/src
SRCFILESC := $(shell find $(SRCDIRS) -type f -name "*.c")
OBJFILESC := $(SRCFILESC:%.c=$(BUILDDIR)/%.c.o) $(BUILDDIR)/src/ps7_init.o
DEPFILESC := $(SRCFILESC:%.c=$(BUILDDIR)/%.c.d)
SRCFILESA := $(shell find $(SRCDIRS) -type f -name "*.S")
OBJFILESA := $(SRCFILESA:%.S=$(BUILDDIR)/%.S.o)
DEPFILESA := $(SRCFILESA:%.S=$(BUILDDIR)/%.S.d)
SRCFILES := $(SRCFILESC) $(SRCFILESA)
OBJFILES := $(OBJFILESA) $(OBJFILESC)
DEPFILES := $(DEPFILESC) $(DEPFILESA)
FILESTOCLEAN := $(OBJFILES) $(DEPFILES) $(BUILDDIR)/$(TARGET)
CROSS_COMPILE ?= arm-none-eabi-
CC := $(CROSS_COMPILE)gcc
AS := $(CROSS_COMPILE)as
LD := $(CROSS_COMPILE)gcc
CC_WARNING := -Wall -Wextra
CC_LIBS := -lgcc
CC_FLAGS := -nostdlib -fno-builtin -g -mcpu=cortex-a9
CC_INCLUDES := -I $(BUILDROOT)/src -I $(BUILDROOT)/../OUT/ip/zynqps
LD_FLAGS := -Wl,-T$(BUILDROOT)/linker.ld
.PHONY: $(TARGET) all clean
all: $(TARGET)
# PHONY RULES
# -----------
$(TARGET): $(BUILDDIR)/$(TARGET)
clean:
echo CLEAN FILES FOR $(TARGET)
-rm -r $(FILESTOCLEAN)
# SPECIFIC BUILD RULES
# --------------------
$(BUILDDIR)/$(TARGET): $(OBJFILES)
echo 'LD ' $@
$(LD) $(CC_FLAGS) $(LD_FLAGS) -o $(BUILDDIR)/$(TARGET) $(OBJFILES) $(CC_LIBS)
$(XILINX_BASE)/bin/$(CROSS_COMPILE)objdump -D $(BUILDDIR)/$(TARGET) > DISASS
$(BUILDDIR)/src/ps7_init.o : $(BUILDROOT)/../OUT/ip/zynqps/ps7_init.c $(BUILDROOT)/../OUT/ip/zynqps/ps7_init.h
echo 'CC ' $@
-mkdir -p $(shell dirname $@)
$(CC) $(CC_FLAGS) $(CC_WARNING) $(CC_INCLUDES) -MD -o $(BUILDDIR)/src/ps7_init.o -c $(BUILDROOT)/../OUT/ip/zynqps/ps7_init.c
$(OBJFILES): $(BUILDDIR)/%.c.o: %.c
echo 'CC ' $@
-mkdir -p $(shell dirname $@)
$(CC) $(CC_FLAGS) $(CC_WARNING) $(CC_INCLUDES) -MD -o $@ -c $<
$(OBJFILESA): $(BUILDDIR)/%.S.o: %.S
echo 'AS ' $@
-mkdir -p $(shell dirname $@)
$(CC) $(CC_FLAGS) $(CC_WARNING) $(CC_INCLUDES) -MD -o $@ -c $<
# Add DEPFILE dependencies
-include $(DEPFILES)