author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 17 Sep 2015 07:36:40 +0100 | |
changeset 49 | 307d55f736ec |
parent 43 | 9327987437ae |
permissions | -rw-r--r-- |
43
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
CC=gccxml |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
CFLAGS=-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
XSLTPROC=xsltproc |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
XML2DEF_XSL=../../styles/gccxml2def.xsl |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
INCLUDE_DIR=$(shell llvm-config-3.8 --includedir) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
HEADERS=Core.h ExecutionEngine.h Target.h Analysis.h BitWriter.h |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
DEFFILES=$(HEADERS:%.h=%.h.def) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
DEFFILE=llvm-c.def |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
XMLFILES=$(HEADERS:%.h=%.h.xml) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
XSL_PARAMS=--stringparam c-header-file $(INCLUDE_DIR)/llvm-c/$(<:%.h.xml=%.h) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
XSLTPROC_FLAGS=$(XSL_PARAMS) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
default: all |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
all: $(DEFFILE) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
xml: $(XMLFILES) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
$(DEFFILE): $(DEFFILES) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
cat $(DEFFILES) > $(DEFFILE) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
# sed -i -e 's/^(struct-foreign LLVM/(struct LLVM/g' $(DEFFILE) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
# sed -i -e 's/^(typedef-foreign LLVM/(typedef LLVM/g' $(DEFFILE) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
# sed -i -e 's/^(enum-foreign LLVM/(enum LLVM/g' $(DEFFILE) |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
%.h.def:%.h.xml |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
$(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(XML2DEF_XSL) $< |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
%.h.xml: $(INCLUDE_DIR)/llvm-c/%.h |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
$(CC) -m64 $(CFLAGS) -I$(INCLUDE_DIR) $< -fxml=$@ |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
clean: |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
rm -rf *.h.def *.h.xml |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
|
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
distclean: clean |
9327987437ae
Added mappings for LLVM C and LLVM C Extensions
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
rm -rf $(DEFFILE) |