Initial gauntlet
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Set the project name here
|
||||
NAME = gauntlet
|
||||
|
||||
OUTPUTDIR = output
|
||||
TOOLCHAIN_ARCH := v810
|
||||
TOOLCHAIN_DIR := $(HOME)/llvm-v810
|
||||
|
||||
# The rest of the Makefile should not need changing ...
|
||||
BINDIR = $(TOOLCHAIN_DIR)/bin
|
||||
INCDIR = $(TOOLCHAIN_DIR)/include
|
||||
LIBDIR = $(TOOLCHAIN_DIR)/lib
|
||||
|
||||
AS = $(BINDIR)/llvm-mc
|
||||
CC = $(BINDIR)/clang
|
||||
LD = $(BINDIR)/ld.lld
|
||||
OBJCOPY = $(BINDIR)/llvm-objcopy
|
||||
|
||||
ASFLAGS += --triple v810-unknown-vb -mcpu=vb --filetype=obj -g
|
||||
LDFLAGS += -target v810-unknown-vb -mcpu=vb --ld-path=$(LD) -L$(LIBDIR) -Tvb.ld -nolibc -flto
|
||||
|
||||
SFILES := $(foreach dir,./,$(notdir $(wildcard $(dir)/*.s)))
|
||||
|
||||
SOBJS := $(OUTPUTDIR)/$(SFILES:.s=.o)
|
||||
|
||||
OFILES := $(SOBJS)
|
||||
ELFFILES := $(OUTPUTDIR)/$(NAME).elf
|
||||
VBFILES := $(OUTPUTDIR)/$(NAME).vb
|
||||
|
||||
.PHONY: all clean distclean
|
||||
|
||||
all: $(VBFILES)
|
||||
|
||||
$(VBFILES): $(ELFFILES)
|
||||
@$(OBJCOPY) -S -O binary $< $@
|
||||
|
||||
$(ELFFILES): $(OFILES)
|
||||
@$(CC) $(OFILES) $(LDFLAGS) -o $@
|
||||
|
||||
$(SOBJS): $(SFILES)
|
||||
@$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
clean:
|
||||
# @rm -f $(OFILES) $(VBFILES) $(ELFFILES)
|
||||
@rm -f output/*
|
||||
|
||||
distclean: clean
|
||||
Reference in New Issue
Block a user