forked from brenocfg/AnghaBench
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
56 lines (44 loc) · 1.93 KB
/
Makefile
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
SRCS=$(shell find ./source -name '*.c' -type f)
OBJS_AMD64=$(patsubst ./source/%.c, compiled/binaries/amd64/%.o, $(SRCS))
OBJS_X86=$(patsubst ./source/%.c, compiled/binaries/x86/%.o, $(SRCS))
OBJS_ARM32=$(patsubst ./source/%.c, compiled/binaries/armv7/%.o, $(SRCS))
OBJS_ARM64=$(patsubst ./source/%.c, compiled/binaries/arm64/%.o, $(SRCS))
BCOBJS_AMD64=$(patsubst ./source/%.c, compiled/bitcode/amd64/%.bc, $(SRCS))
BCOBJS_X86=$(patsubst ./source/%.c, compiled/bitcode/x86/%.bc, $(SRCS))
BCOBJS_ARM32=$(patsubst ./source/%.c, compiled/bitcode/armv7/%.bc, $(SRCS))
BCOBJS_ARM64=$(patsubst ./source/%.c, compiled/bitcode/arm64/%.bc, $(SRCS))
CC=clang-14
CFLAGS=-pipe -O1 -ggdb -w -c
BCFLAGS=$(CFLAGS) -emit-llvm
AMD64_CFLAGS=--target=x86_64-pc-linux-gnu
X86_CFLAGS=--target=i686-linux-gnu
ARM32_CFLAGS=--target=arm-linux-gnueabihf -march=armv7a -isystem/usr/arm-linux-gnueabihf/include
ARM64_CFLAGS=--target=aarch64-linux-gnu -isystem/usr/aarch64-linux-gnu/include
all: binaries bitcode
binaries: $(OBJS_X86) $(OBJS_AMD64) $(OBJS_ARM32) $(OBJS_ARM64)
bitcode: $(BCOBJS_X86) $(BCOBJS_AMD64) $(BCOBJS_ARM32) $(BCOBJS_ARM64)
.PHONY: all binaries bitcode
compiled/binaries/amd64/%.o: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(AMD64_CFLAGS) $(CFLAGS) $< -o $@
compiled/binaries/x86/%.o: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(X86_CFLAGS) $(CFLAGS) $< -o $@
compiled/binaries/arm64/%.o: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(ARM64_CFLAGS) $(CFLAGS) $< -o $@
compiled/binaries/armv7/%.o: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(ARM32_CFLAGS) $(CFLAGS) $< -o $@
compiled/bitcode/amd64/%.bc: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(AMD64_CFLAGS) $(BCFLAGS) $< -o $@
compiled/bitcode/x86/%.bc: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(X86_CFLAGS) $(BCFLAGS) $< -o $@
compiled/bitcode/arm64/%.bc: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(ARM64_CFLAGS) $(BCFLAGS) $< -o $@
compiled/bitcode/armv7/%.bc: source/%.c
@mkdir -p "$(@D)"
@$(CC) $(ARM32_CFLAGS) $(BCFLAGS) $< -o $@