resources/examples/llvm-c/Makefile
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--
LLVM bindings: allow to specify path to llvm-config ..by setting LLVM_CONFIG variable when generating definitions for LLVM bindings. Example: make LVM_CONFIG=~/Projects/LLVM/sources1/build/Debug+Asserts/bin/llvm-config
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)