Showing 3 changed files with 39 additions and 1 deletions
+19
Makefile
... ...
@@ -53,6 +53,23 @@ ifeq ($(MACHINE),cosmocc)
53 53
   CC=$(COSMOCCDIR)/bin/$(PREFIX)cc
54 54
   AR=$(COSMOCCDIR)/bin/$(PREFIX)ar
55 55
 endif
56
+ifeq ($(MACHINE),aarch64)
57
+  ARCH = aarch64
58
+  TARGET = aarch64
59
+  PREFIX = aarch64-none-linux-gnu
60
+  CC = $(AARCH64DIR)/bin/$(PREFIX)-gcc
61
+  AR = $(AARCH64DIR)/bin/$(PREFIX)-ar
62
+  STRIP = $(AARCH64DIR)/bin/$(PREFIX)-strip
63
+endif
64
+ifeq ($(MACHINE),riscv64)
65
+  ARCH = riscv64
66
+  TARGET = riscv64
67
+  PREFIX = riscv64-linux-gnu
68
+  CC = $(PREFIX)-gcc
69
+  AR = $(PREFIX)-ar
70
+  STRIP = $(PREFIX)-strip
71
+endif
72
+
56 73
 
57 74
 
58 75
 
... ...
@@ -73,6 +90,8 @@ $(PROGNAME): $(OBJ)
73 90
 	$(CC) -o $@ $^ $(CFLAGS)
74 91
 ifneq ($(MACHINE),cosmocc)
75 92
 	$(STRIP) $(PROGNAME)
93
+else
94
+	$(RM) -f $(PROGNAME).aarch64.elf $(PROGNAME).com.dbg
76 95
 endif 
77 96
 
78 97
 clean:
+10
build.sh
... ...
@@ -14,6 +14,16 @@ echo "Machine: arm7 linux"
14 14
 echo "-----------------------------------------------------------------"
15 15
 make MACHINE=arm7 > /dev/null
16 16
 
17
+echo "-----------------------------------------------------------------"
18
+echo "Machine: aarch64 linux"
19
+echo "-----------------------------------------------------------------"
20
+AARCH64DIR=$HOME/dev/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu make MACHINE=aarch64 > /dev/null
21
+
22
+echo "-----------------------------------------------------------------"
23
+echo "Machine: riscv64 linux"
24
+echo "-----------------------------------------------------------------"
25
+make MACHINE=riscv64 > /dev/null
26
+
17 27
 echo "-----------------------------------------------------------------"
18 28
 echo "Machine: cosmocc multi"
19 29
 echo "-----------------------------------------------------------------"
+10 -1
clean.sh
... ...
@@ -14,8 +14,17 @@ echo "Cleaning: arm7 linux"
14 14
 echo "-----------------------------------------------------------------"
15 15
 make MACHINE=arm7 clean > /dev/null
16 16
 
17
+echo "-----------------------------------------------------------------"
18
+echo "Cleaning: aarch64 linux"
19
+echo "-----------------------------------------------------------------"
20
+make MACHINE=aarch64 clean > /dev/null
21
+
22
+echo "-----------------------------------------------------------------"
23
+echo "Cleaning: risv64 linux"
24
+echo "-----------------------------------------------------------------"
25
+make MACHINE=riscv64 clean > /dev/null
26
+
17 27
 echo "-----------------------------------------------------------------"
18 28
 echo "Cleaning: cosmocc"
19 29
 echo "-----------------------------------------------------------------"
20 30
 make MACHINE=cosmocc clean > /dev/null
21
-