xchg.S: Add missing `ret' in ARM64 version of `call_example'.
[xchg-rax-rax] / Makefile
CommitLineData
06297a93
MW
1### -*-makefile-*-
2
3V = 0
4vcond = $(call vcond_$V,$1,$2)
5vcond_0 = $1
6vcond_1 = $2
7V_AT = $(call vcond,@)
8vtag = \
9 $(call vcond,@printf " %-8s %s\n" "$1" "$(or $2,$@)";)
10
90c4eee3 11ARCH =
06297a93 12
90c4eee3
MW
13CFLAGS = -O2 -g -Wall -Werror
14ASFLAGS = $(CFLAGS)
06297a93
MW
15LDFLAGS =
16
90c4eee3
MW
17ARCH += i386
18CC/i386 = gcc -m32
19
20ARCH += amd64
21CC/amd64 = gcc -m64
22
23ARCH += armhf
24CC/armhf = arm-linux-gnueabihf-gcc
25
26ARCH += arm64
27CC/arm64 = aarch64-linux-gnu-gcc
28
29define defarch.body
30AS/$1 = $$(CC/$1)
31LD/$1 = $$(CC/$1)
32%-$1.o: %.c
33 $$(call vtag,CC/$1)$$(CC/$1) -c -o $$@ $$(CFLAGS) $$(CFLAGS/$1) $$<
34%-$1.o: %.S
35 $$(call vtag,AS/$1)$$(AS/$1) -c -o $$@ $$(ASFLAGS) $$(ASFLAGS/$1) $$<
36all:: xchg-$1
37xchg-$1: xchg-$1.o main-$1.o
38 $$(call vtag,LD/$1)$$(LD/$1) -o $$@ $$^
39endef
40defarch = $(eval $(call defarch.body,$1))
41$(foreach a,$(ARCH), $(call defarch,$a))
42
43clean::; rm -f $(foreach a,$(ARCH), xchg-$a) *.o