5b7900334dbd7df09aa6fbc6fb7fb8edd0ecb357
[oota-llvm.git] / lib / Target / X86 / CMakeLists.txt
1 macro(x86tgen ofn)
2   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}
3     COMMAND tblgen ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${CMAKE_SOURCE_DIR}/lib/Target -I ${llvm_include_path} ${CMAKE_CURRENT_SOURCE_DIR}/X86.td -o ${ofn}
4     DEPENDS tblgen ${CMAKE_CURRENT_SOURCE_DIR}/X86.td
5     COMMENT "Building ${ofn}..."
6     )
7 endmacro(x86tgen)
8
9 x86tgen(X86GenRegisterInfo.h.inc -gen-register-desc-header)
10 x86tgen(X86GenRegisterNames.inc -gen-register-enums)
11 x86tgen(X86GenRegisterInfo.inc -gen-register-desc)
12 x86tgen(X86GenInstrNames.inc -gen-instr-enums)
13 x86tgen(X86GenInstrInfo.inc -gen-instr-desc)
14 x86tgen(X86GenAsmWriter.inc -gen-asm-writer)
15 x86tgen(X86GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
16 x86tgen(X86GenDAGISel.inc -gen-dag-isel)
17 x86tgen(X86GenFastISel.inc -gen-fast-isel)
18 x86tgen(X86GenCallingConv.inc -gen-callingconv)
19 x86tgen(X86GenSubtarget.inc -gen-subtarget)
20
21 add_custom_target(X86Table_gen echo Tablegenning
22   DEPENDS
23   ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterInfo.h.inc
24   ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterNames.inc
25   ${CMAKE_CURRENT_BINARY_DIR}/X86GenRegisterInfo.inc
26   ${CMAKE_CURRENT_BINARY_DIR}/X86GenInstrNames.inc
27   ${CMAKE_CURRENT_BINARY_DIR}/X86GenInstrInfo.inc
28   ${CMAKE_CURRENT_BINARY_DIR}/X86GenAsmWriter.inc
29   ${CMAKE_CURRENT_BINARY_DIR}/X86GenAsmWriter1.inc
30   ${CMAKE_CURRENT_BINARY_DIR}/X86GenDAGISel.inc
31   ${CMAKE_CURRENT_BINARY_DIR}/X86GenFastISel.inc
32   ${CMAKE_CURRENT_BINARY_DIR}/X86GenCallingConv.inc
33   ${CMAKE_CURRENT_BINARY_DIR}/X86GenSubtarget.inc
34   )
35
36 add_dependencies(X86Table_gen ${LLVM_COMMON_DEPENDS})
37
38 include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
39
40 add_partially_linked_object(LLVMX86CodeGen
41   X86CodeEmitter.cpp
42   X86ELFWriterInfo.cpp
43   X86FloatingPoint.cpp
44   X86ISelDAGToDAG.cpp
45   X86ISelLowering.cpp
46   X86InstrInfo.cpp
47   X86JITInfo.cpp
48   X86RegisterInfo.cpp
49   X86Subtarget.cpp
50   X86TargetAsmInfo.cpp
51   X86TargetMachine.cpp
52   X86FastISel.cpp
53   )
54
55 add_dependencies(LLVMX86CodeGen
56   X86Table_gen
57 )