diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Makefile b/Makefile index 2433e25..6c0b429 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,12 @@ OBJDIR = obj SRC = main.c util.c parse.c cfg.c mem.c ssa.c alias.c load.c copy.c \ fold.c live.c spill.c rega.c gas.c AMD64SRC = amd64/targ.c amd64/sysv.c amd64/isel.c amd64/emit.c -SRCALL = $(SRC) $(AMD64SRC) +ARM64SRC = arm64/targ.c arm64/abi.c arm64/isel.c arm64/emit.c +SRCALL = $(SRC) $(AMD64SRC) $(ARM64SRC) AMD64OBJ = $(AMD64SRC:%.c=$(OBJDIR)/%.o) -OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(AMD64OBJ) +ARM64OBJ = $(ARM64SRC:%.c=$(OBJDIR)/%.o) +OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(AMD64OBJ) $(ARM64OBJ) CFLAGS += -Wall -Wextra -std=c99 -g -pedantic @@ -24,10 +26,12 @@ $(OBJDIR)/%.o: %.c $(OBJDIR)/timestamp $(OBJDIR)/timestamp: @mkdir -p $(OBJDIR) @mkdir -p $(OBJDIR)/amd64 + @mkdir -p $(OBJDIR)/arm64 @touch $@ $(OBJ): all.h ops.h $(AMD64OBJ): amd64/all.h +$(ARM64OBJ): arm64/all.h obj/main.o: config.h config.h: @@ -38,7 +42,14 @@ config.h: ;; \ *) \ echo "#define Defasm Gaself"; \ - echo "#define Deftgt T_amd64_sysv"; \ + case `uname -m` in \ + *aarch64*) \ + echo "$define Deftgt T_arm64"; \ + ;; \ + *) \ + echo "#define Deftgt T_amd64_sysv";\ + ;; \ + esac \ ;; \ esac > $@ |