From 533a9e57de8cb74594499f625810ad812359d3fb Mon Sep 17 00:00:00 2001 From: johannst Date: Tue, 29 Sep 2020 04:31:51 +0200 Subject: added basic arm64 support --- Makefile | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index b3665cc..47c7c90 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,16 @@ # Copyright (c) 2020 Johannes Stoelp -CXX := g++ +ARCH ?= x86_64 + +ifeq ($(ARCH),arm64) +PREFIX := aarch64-linux-gnu- +endif + +CXX := $(PREFIX)g++ CXXFLAGS := -g -O0 -Wall -Wextra -I. lib/libmatcha.a: - make -C lib + make -C lib ARCH=$(ARCH) %.o: %.cc $(CXX) -c -o $@ $^ $(CXXFLAGS) @@ -13,12 +19,29 @@ fmt: fd --type f '.+\.h$$|.+\.cc$$' --exec clang-format -i {} example/demo1: example/demo1.o lib/libmatcha.a - $(CXX) -o $@ $^ + $(CXX) -o $@ $^ $(LDFLAGS) +ifeq ($(ARCH),arm64) + qemu-aarch64 \ + -L /usr/aarch64-linux-gnu \ + -E LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib \ + example/demo1 +else + example/demo1 +endif gdb: example/demo1 +ifeq ($(ARCH),arm64) + qemu-aarch64 \ + -L /usr/aarch64-linux-gnu \ + -E LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib \ + -g 1234 \ + example/demo1 & + gdb-multiarch -ex 'target remote :1234' -ex 'b main' -ex 'c' example/demo1 +else which cgdb && cgdb -x util.gdb -ex 'start' example/demo1 \ || gdb -x util.gdb -ex 'start' example/demo1 +endif clean: - rm -f example/demo1 - rm -f **/*.o **/lib*.a + make -C lib clean + rm -f example/demo1 example/demo1.o -- cgit v1.2.3