From 6df7181c7474fafc1114435a10b09e0a1f899a1f Mon Sep 17 00:00:00 2001 From: MalikBurton Date: Tue, 14 Jul 2020 19:18:01 -0400 Subject: [PATCH] Updated Makefiles of runtime/tests ,dev, hello, and nlTest --- runtime/tests/Makefile | 8 ++++++- runtime/tests/dev/Makefile | 42 ++++++++++++++++---------------- runtime/tests/hello/Makefile | 45 +++++++++++++++++++---------------- runtime/tests/nlTest/Makefile | 44 ++++++++++++++++++---------------- 4 files changed, 77 insertions(+), 62 deletions(-) diff --git a/runtime/tests/Makefile b/runtime/tests/Makefile index b41aafc0..3ddc4fdd 100644 --- a/runtime/tests/Makefile +++ b/runtime/tests/Makefile @@ -1,5 +1,11 @@ all: $(MAKE) -C simple + $(MAKE) -C dev + $(MAKE) -C hello + $(MAKE) -C nlTest clean: - $(MAKE) -C simple clean \ No newline at end of file + $(MAKE) -C simple clean + $(MAKE) -C dev clean + $(MAKE) -C hello clean + $(MAKE) -C nlTest clean diff --git a/runtime/tests/dev/Makefile b/runtime/tests/dev/Makefile index c7e1ca6e..a6faf9bd 100644 --- a/runtime/tests/dev/Makefile +++ b/runtime/tests/dev/Makefile @@ -1,32 +1,34 @@ +RISCV_TOOLCHAIN_PATH ?= ~/dev/riscv-gnu-toolchain/drops +VORTEX_RT_PATH ?= $(wildcard ../..) -RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops) +CC = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc +AR = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc-ar +DP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump +CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy -COMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc -# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib -CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,../../startup/vx_link.ld -ffreestanding -nostartfiles +CFLAGS += -march=rv32im -mabi=ilp32 -O3 -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld +CFLAGS += -nostartfiles -ffreestanding -fno-exceptions -Wl,--gc-sections +CFLAGS += -I$(VORTEX_RT_PATH)/include -DMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump -CPY = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy +LDFLAGS += $(VORTEX_RT_PATH)/libvortexrt.a +PROJECT = vx_dev_main -VX_STR = ../../startup/vx_start.S -VX_INT = ../../intrinsics/vx_intrinsics.S -VX_IO = ../../io/vx_io.S ../../io/vx_io.c -VX_API = ../../vx_api/vx_api.c -VX_TEST = ../common/tests.c +SRCS = vx_dev_main.c -VX_MAIN = ./vx_dev_main.c +all: $(PROJECT).elf $(PROJECT).hex $(PROJECT).dump -all: HEX DUMP ELF +$(PROJECT).dump: $(PROJECT).elf + $(DP) -D $(PROJECT).elf > $(PROJECT).dump -DUMP: ELF - $(DMP) -D vx_dev_main.elf > vx_dev_main.dump +$(PROJECT).hex: $(PROJECT).elf + $(CP) -O ihex $(PROJECT).elf $(PROJECT).hex -HEX: ELF - $(CPY) -O ihex vx_dev_main.elf vx_dev_main.hex +$(PROJECT).elf: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) $(LDFLAGS) -o $(PROJECT).elf -ELF: - $(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN) -o vx_dev_main.elf +.depend: $(SRCS) + $(CC) $(CFLAGS) -MM $^ > .depend; clean: - rm -rf *.o *.elf *.dump *.hex *.qemu *.log *.debug + rm -rf *.elf *.hex *.dump .depend diff --git a/runtime/tests/hello/Makefile b/runtime/tests/hello/Makefile index f1a83a94..3f7b6ea8 100644 --- a/runtime/tests/hello/Makefile +++ b/runtime/tests/hello/Makefile @@ -1,31 +1,34 @@ +RISCV_TOOLCHAIN_PATH ?= ~/dev/riscv-gnu-toolchain/drops +VORTEX_RT_PATH ?= $(wildcard ../..) -RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops) +CC = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc +AR = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc-ar +DP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump +CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy -COMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc -# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib -CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,../../startup/vx_link.ld +CFLAGS += -march=rv32im -mabi=ilp32 -O3 -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld +CFLAGS += -nostartfiles -ffreestanding -fno-exceptions -Wl,--gc-sections +CFLAGS += -I$(VORTEX_RT_PATH)/include -DMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump -CPY = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy +LDFLAGS += $(VORTEX_RT_PATH)/libvortexrt.a +PROJECT = hello -NEWLIB = ../../newlib/newlib.c -VX_STR = -VX_INT = ../../intrinsics/vx_intrinsics.S -VX_IO = -VX_API = -VX_FIO = -LIBS = $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf/lib/libc.a $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc +SRCS = hello.cpp -VX_MAIN = hello +all: $(PROJECT).elf $(PROJECT).hex $(PROJECT).dump -all: HEX DUMP ELF +$(PROJECT).dump: $(PROJECT).elf + $(DP) -D $(PROJECT).elf > $(PROJECT).dump -DUMP: ELF - $(DMP) -D $(VX_MAIN).elf > $(VX_MAIN).dump +$(PROJECT).hex: $(PROJECT).elf + $(CP) -O ihex $(PROJECT).elf $(PROJECT).hex -HEX: ELF - $(CPY) -O ihex $(VX_MAIN).elf $(VX_MAIN).hex +$(PROJECT).elf: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) $(LDFLAGS) -o $(PROJECT).elf -ELF: - $(COMP) $(CC_FLAGS) $(VX_STR) $(VX_FIO) $(NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_MAIN).cpp $(LIBS) -Iinclude -o $(VX_MAIN).elf +.depend: $(SRCS) + $(CC) $(CFLAGS) -MM $^ > .depend; + +clean: + rm -rf *.elf *.hex *.dump .depend diff --git a/runtime/tests/nlTest/Makefile b/runtime/tests/nlTest/Makefile index f47a433b..6429a490 100644 --- a/runtime/tests/nlTest/Makefile +++ b/runtime/tests/nlTest/Makefile @@ -1,30 +1,34 @@ +RISCV_TOOLCHAIN_PATH ?= ~/dev/riscv-gnu-toolchain/drops +VORTEX_RT_PATH ?= $(wildcard ../..) -RISCV_TOOLCHAIN_PATH ?= $(wildcard ../../../../riscv-gnu-toolchain/drops) +CC = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc +AR = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc-ar +DP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump +CP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy -COMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-gcc -# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib -CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,../../startup/vx_link.ld -ffreestanding -nostartfiles -nostdlib +CFLAGS += -march=rv32im -mabi=ilp32 -O3 -Wl,-Bstatic,-T,$(VORTEX_RT_PATH)/linker/vx_link.ld +CFLAGS += -nostartfiles -ffreestanding -fno-exceptions -Wl,--gc-sections +CFLAGS += -I$(VORTEX_RT_PATH)/include -DMP = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objdump -CPY = $(RISCV_TOOLCHAIN_PATH)/bin/riscv32-unknown-elf-objcopy +LDFLAGS += $(VORTEX_RT_PATH)/libvortexrt.a +PROJECT = vx_nl_main -NEWLIB = ../../newlib/newlib.c ../../newlib/newlib_notimp.c ../../newlib/newlib.s -VX_STR = ../../startup/vx_start.S -VX_INT = ../../intrinsics/vx_intrinsics.S -VX_IO = ../../io/vx_io.S ../../io/vx_io.c -VX_API = ../../vx_api/vx_api.c -VX_FIO = ../../fileio/fileio.S +SRCS = vx_nl_main.c -VX_MAIN = ./vx_nl_main.c +all: $(PROJECT).elf $(PROJECT).hex $(PROJECT).dump -all: HEX DUMP ELF +$(PROJECT).dump: $(PROJECT).elf + $(DP) -D $(PROJECT).elf > $(PROJECT).dump -DUMP: ELF - $(DMP) -D vx_nl_main.elf > vx_nl_main.dump +$(PROJECT).hex: $(PROJECT).elf + $(CP) -O ihex $(PROJECT).elf $(PROJECT).hex -HEX: ELF - $(CPY) -O ihex vx_nl_main.elf vx_nl_main.hex +$(PROJECT).elf: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) $(LDFLAGS) -o $(PROJECT).elf -ELF: - $(COMP) $(CC_FLAGS) $(VX_STR) $(VX_FIO) $(NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_MAIN) /opt/riscv/riscv32-unknown-elf/lib/libc.a /opt/riscv/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc -o vx_nl_main.elf +.depend: $(SRCS) + $(CC) $(CFLAGS) -MM $^ > .depend; + +clean: + rm -rf *.elf *.hex *.dump .depend