blob: 548e5b82e464ed492c0d566dcf33ae677fc4da11 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
.PHONY: all
all: setup
$(MAKE) -f scripts/makefile
.PHONY: examples
examples: setup
$(MAKE) -f scripts/makefile examples
.PHONY: check
check: all
@echo -n > tests.mk
@./scripts/gen-tests $$(echo tests/*.c)
$(MAKE) -f tests/makefile check
# supported by jit
.PHONY: check_linux_amd64
check_linux_amd64:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/x86_64-linux-gnu \
$(MAKE) ARCH=amd64 CROSS_COMPILE=x86_64-linux-gnu- check
.PHONY: check_linux_x86
check_linux_x86:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/i686-linux-gnu \
$(MAKE) ARCH=x86 CROSS_COMPILE=i686-linux-gnu- check
.PHONY: check_linux_aarch64
check_linux_aarch64:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \
$(MAKE) ARCH=aarch64 CROSS_COMPILE=aarch64-linux-gnu- check
.PHONY: check_linux_armhf
check_linux_armhf:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
$(MAKE) ARCH=armhf CROSS_COMPILE=arm-linux-gnueabihf- check
.PHONY: check_linux_powerpc64le
check_linux_powerpc64le:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu \
$(MAKE) ARCH=powerpc64le CROSS_COMPILE=powerpc64le-linux-gnu- check
# note: older than revision 6
.PHONY: check_linux_mips64el
check_linux_mips64el:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/mips64el-linux-gnuabi64 \
$(MAKE) ARCH=mips64el CROSS_COMPILE=mips64el-linux-gnuabi64- check
.PHONY: check_linux_mipsel
check_linux_mipsel:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/mipsel-linux-gnu \
$(MAKE) ARCH=mipsel CROSS_COMPILE=mipsel-linux-gnu- check
# not supported by jit atm
.PHONY: check_linux_powerpc64
check_linux_powerpc64:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu \
$(MAKE) ARCH=powerpc64 CROSS_COMPILE=powerpc64-linux-gnu- check
.PHONY: check_linux_powerpc
check_linux_powerpc:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/powerpc-linux-gnu \
$(MAKE) ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- check
.PHONY: check_linux_sparc64
check_linux_sparc64:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/sparc64-linux-gnu \
$(MAKE) ARCH=sparc64 CROSS_COMPILE=sparc64-linux-gnu- check
.PHONY: check_linux_riscv64
check_linux_riscv64:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/riscv64-linux-gnu \
$(MAKE) ARCH=riscv64 CROSS_COMPILE=riscv64-linux-gnu- check
.PHONY: check_linux_s390x
check_linux_s390x:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/s390x-linux-gnu \
$(MAKE) ARCH=s390x CROSS_COMPILE=s390x-linux-gnu- check
.PHONY: check_linux_alpha
check_linux_alpha:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/alpha-linux-gnu \
$(MAKE) ARCH=alpha CROSS_COMPILE=alpha-linux-gnu- check
.PHONY: check_linux_hppa
check_linux_hppa:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/hppa-linux-gnu \
$(MAKE) ARCH=hppa CROSS_COMPILE=hppa-linux-gnu- check
.PHONY: check_linux_m68k
check_linux_m68k:
$(MAKE) clean
QEMU_LD_PREFIX=/usr/m68k-linux-gnu \
$(MAKE) ARCH=m68k CROSS_COMPILE=m68k-linux-gnu- check
.PHONY: check_linux
check_linux:
$(MAKE) check_linux_amd64
$(MAKE) check_linux_x86
$(MAKE) check_linux_aarch64
$(MAKE) check_linux_armhf
$(MAKE) check_linux_powerpc64le
$(MAKE) check_linux_mips64el
$(MAKE) check_linux_mipsel
$(MAKE) check_linux_powerpc64
$(MAKE) check_linux_powerpc
$(MAKE) check_linux_sparc64
$(MAKE) check_linux_riscv64
$(MAKE) check_linux_s390x
$(MAKE) check_linux_alpha
$(MAKE) check_linux_hppa
$(MAKE) check_linux_m68k
# compiler+emulator not available or broken
#$(MAKE) check_linux_hppa64
#$(MAKE) check_linux_arc
#$(MAKE) check_linux_sh4
.DEFAULT: setup
$(MAKE) -f scripts/makefile $<
.PHONY:
setup:
@echo -n > deps.mk
@./scripts/gen-deps -p EJIT -c COMPILE_EJIT -b ejit "$(EJIT_SOURCES)"
CLEANUP := build deps.mk tests.md libejit.a examples/fib examples/loop \
examples/*.d tests/test-*
CLEANUP_CMD :=
EJIT_SOURCES :=
include src/source.mk
.PHONY: format
format:
find src include tests -iname '*.[ch]' |\
xargs uncrustify -c uncrustify.conf --no-backup -F -
.PHONY: license
license:
find src include -iname '*.[ch]' |\
xargs ./scripts/license
.PHONY: docs
docs:
find src include -iname '*.[ch]' -not -path */gen/* |\
xargs ./scripts/warn-undocumented
doxygen docs/doxygen.conf
RM = rm
.PHONY: clean
clean:
$(RM) -rf $(CLEANUP)
.PHONY: clean_docs
clean_docs:
$(RM) -rf docs/output
.PHONY: clean_all
clean_all: clean clean_docs
|