blob: b9191dd29dca00aa21f61d807a278fb302e5d898 (
plain)
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
|
CLANG = clang
CLANG_CFLAGS = -cc1 -emit-llvm-bc -O2 -fno-builtin -nobuiltininc
CLANG_CFLAGS += -Fvisibility=protected -cl-std=CL1.2 -ffp-contract=off
CLANG_CFLAGS += -I../../include -I/opt/llvm/lib/clang/3.6.0/include
CLANG_CL_FLAGS += $(CLANG_CFLAGS) -x cl
CL_FILES = $(wildcard *.cl)
C_FILES = $(wildcard *.c)
BYTECODE := ${CL_FILES:.cl=.bc}
BYTECODE_FROM_C := ${C_FILES:.c=.bc}
all: builtins.lib
builtins.lib: $(BYTECODE) $(BYTECODE_FROM_C)
@echo $@ Linking bytecode modules
llvm-link -o $@ $^
%.bc: %.c
@echo $< Parsing
@$(CLANG) $(CLANG_CFLAGS) $< -o $@
%.bc: %.cl
@echo $< Parsing
@$(CLANG) $(CLANG_CL_FLAGS) $< -o $@
%.ll: %.bc
@echo $< Disassembling
llvm-dis $<
clean:
@rm -rf *.bc *.ll
|