1 # This creates inc files generated by llvm-tblgen program
3 # Target intentionally left off: BPF, Hexagon, MSP430, NVPTX, Sparc, Xcore
5 TOP_LLVM
= ${.CURDIR
}/..
/..
/contrib
/llvm
7 .PATH
: ${TOP_LLVM}/include/llvm
/IR
8 .PATH
: ${TOP_LLVM}/lib
/IR
9 .PATH
: ${TOP_LLVM}/lib
/Target
/AArch64
10 .PATH
: ${TOP_LLVM}/lib
/Target
/AMDGPU
11 .PATH
: ${TOP_LLVM}/lib
/Target
/ARM
12 .PATH
: ${TOP_LLVM}/lib
/Target
/PowerPC
13 .PATH
: ${TOP_LLVM}/lib
/Target
/Mips
14 .PATH
: ${TOP_LLVM}/lib
/Target
/X86
16 CLEANDIRS
= lib llvm clang
18 TGTS
= AArch64 AMDGPU ARM PowerPC Mips X86
19 TINX
= GenAsmMatcher
/-gen-asm-matcher \
20 GenAsmWriter
/-gen-asm-writer \
21 GenCallingConv
/-gen-callingconv \
22 GenDAGISel
/-gen-dag-isel \
23 GenDisassemblerTables
/-gen-disassembler \
24 GenFastISel
/-gen-fast-isel \
25 GenInstrInfo
/-gen-instr-info \
26 GenMCCodeEmitter
/-gen-emitter \
27 GenRegisterInfo
/-gen-register-info \
28 GenSubtargetInfo
/-gen-subtarget
31 GenAsmWriter1
/-gen-asm-writer
,-asmwriternum
=1 \
32 GenMCPseudoLowering
/-gen-pseudo-lowering
34 ${TINX
:NGenFastISel
*:NGenDisassembler
*} \
35 GenDFAPacketizer
/-gen-dfa-packetizer \
36 GenIntrinsics
/-gen-tgt-intrinsic
39 GenMCPseudoLowering
/-gen-pseudo-lowering
44 GenMCPseudoLowering
/-gen-pseudo-lowering
46 ${TINX
:NGenMCCodeEmitter
*} \
47 GenAsmWriter1
/-gen-asm-writer
,-asmwriternum
=1
49 SING1
= clang
/Driver
/Options.inc \
50 llvm
/IR
/Attributes.inc \
51 llvm
/IR
/Intrinsics.gen \
52 lib
/IR
/AttributesCompatFunc.inc
55 . for FX in
${TINX_
${T}:H
}
56 beforedepend
: lib
/Target
/${T}/${T
:S
/PowerPC
/PPC
/}${FX}.inc
57 all: lib
/Target
/${T}/${T
:S
/PowerPC
/PPC
/}${FX}.inc
60 beforedepend
: ${SING1}
62 @echo LLVM block3 complete
64 TGEN
= ${.OBJDIR
}/..
/block2
/llvm-tblgen
/llvm-tblgen
65 TGINCS
= -I
${TOP_LLVM}/include/llvm
/IR \
66 -I
${TOP_LLVM}/include \
67 -I
${TOP_LLVM}/lib
/Target
68 TXINCS
= -I
${TOP_LLVM}/include \
69 -I
${TOP_LLVM}/lib
/Target
71 clang
/Driver
/Options.inc
: Options.td
${TGEN}
73 ${TGEN} -gen-opt-parser-defs
${CIOPT} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
75 llvm
/IR
/Attributes.inc
: Attributes.td
${TGEN}
77 ${TGEN} -gen-attrs
${TGINCS} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
79 llvm
/IR
/Intrinsics.gen
: Intrinsics.td
${TGEN}
81 ${TGEN} -gen-intrinsic
${TGINCS} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
83 lib
/IR
/AttributesCompatFunc.inc
: AttributesCompatFunc.td
${TGEN}
85 ${TGEN} -gen-attrs
${TGINCS} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
89 . for FX in
${TINX_
${T}}
90 lib
/Target
/${T}/${T
:S
/PowerPC
/PPC
/}${FX
:H
}.inc
: ${T
:S
/PowerPC
/PPC
/}.td
${TGEN}
91 mkdir
-p lib
/Target
/${T}
92 ${TGEN} ${FX
:T
:S|
,| |
} ${TXINCS} -I
${TOP_LLVM}/lib
/Target
/${T} \
93 ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
99 .PATH
: ${TOP_LLVM}/tools
/clang
/include/clang
/AST
100 .PATH
: ${TOP_LLVM}/tools
/clang
/include/clang
/Basic
101 .PATH
: ${TOP_LLVM}/tools
/clang
/include/clang
/Driver
103 CGEN
= ${.OBJDIR
}/..
/block2
/clang-tblgen
/clang-tblgen
104 CXINCS
= -I
${TOP_LLVM}/tools
/clang
/include \
105 -I
${TOP_LLVM}/lib
/Target
106 CID1
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/AST
107 CID2
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/Sema
108 CID3
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/Basic
109 CID4
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/Serialization
110 CID5
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/Parse
111 CIOPT
= ${CXINCS} -I
${TOP_LLVM}/tools
/clang
/include/clang
/Driver
-I
${TOP_LLVM}/include
112 CXAST
= -I
${TOP_LLVM}/tools
/clang
/lib
/Headers \
113 -I
${TOP_LLVM}/lib
/Target \
114 -I
${TOP_LLVM}/include
115 CLX1
= Attrs
/-gen-clang-attr-classes
/Attr.td \
116 AttrImpl
/-gen-clang-attr-impl
/Attr.td \
117 AttrDump
/-gen-clang-attr-dump
/Attr.td \
118 AttrVisitor
/-gen-clang-attr-ast-visitor
/Attr.td \
119 StmtNodes
/-gen-clang-stmt-nodes
/StmtNodes.td \
120 DeclNodes
/-gen-clang-decl-nodes
/DeclNodes.td \
121 CommentNodes
/-gen-clang-comment-nodes
/CommentNodes.td \
122 CommentHTMLTags
/-gen-clang-comment-html-tags
/CommentHTMLTags.td \
123 CommentHTMLTagsProperties
/-gen-clang-comment-html-tags-properties
/CommentHTMLTags.td \
124 CommentHTMLNamedCharacterReferences
/-gen-clang-comment-html-named-character-references
/CommentHTMLNamedCharacterReferences.td \
125 CommentCommandInfo
/-gen-clang-comment-command-info
/CommentCommands.td \
126 CommentCommandList
/-gen-clang-comment-command-list
/CommentCommands.td
127 CLX2
= AttrTemplateInstantiate
/-gen-clang-attr-template-instantiate
/Attr.td \
128 AttrParsedAttrList
/-gen-clang-attr-parsed-attr-list
/Attr.td \
129 AttrParsedAttrKinds
/-gen-clang-attr-parsed-attr-kinds
/Attr.td \
130 AttrSpellingListIndex
/-gen-clang-attr-spelling-index
/Attr.td \
131 AttrParsedAttrImpl
/-gen-clang-attr-parsed-attr-impl
/Attr.td
132 CLX3
= DiagnosticAnalysisKinds
/-gen-clang-diags-defs
,-clang-component
=Analysis
/Diagnostic.td \
133 DiagnosticASTKinds
/-gen-clang-diags-defs
,-clang-component
=AST
/Diagnostic.td \
134 DiagnosticCommentKinds
/-gen-clang-diags-defs
,-clang-component
=Comment
/Diagnostic.td \
135 DiagnosticCommonKinds
/-gen-clang-diags-defs
,-clang-component
=Common
/Diagnostic.td \
136 DiagnosticDriverKinds
/-gen-clang-diags-defs
,-clang-component
=Driver
/Diagnostic.td \
137 DiagnosticFrontendKinds
/-gen-clang-diags-defs
,-clang-component
=Frontend
/Diagnostic.td \
138 DiagnosticLexKinds
/-gen-clang-diags-defs
,-clang-component
=Lex
/Diagnostic.td \
139 DiagnosticParseKinds
/-gen-clang-diags-defs
,-clang-component
=Parse
/Diagnostic.td \
140 DiagnosticSemaKinds
/-gen-clang-diags-defs
,-clang-component
=Sema
/Diagnostic.td \
141 DiagnosticSerializationKinds
/-gen-clang-diags-defs
,-clang-component
=Serialization
/Diagnostic.td \
142 DiagnosticGroups
/-gen-clang-diag-groups
/Diagnostic.td \
143 DiagnosticIndexName
/-gen-clang-diags-index-name
/Diagnostic.td \
144 AttrList
/-gen-clang-attr-list
/Attr.td \
145 AttrHasAttributeImpl
/-gen-clang-attr-has-attribute-impl
/Attr.td \
146 arm_neon
/-gen-arm-neon-sema
/arm_neon.td
147 CLX4
= AttrPCHRead
/-gen-clang-attr-pch-read
/Attr.td \
148 AttrPCHWrite
/-gen-clang-attr-pch-write
/Attr.td
149 CLX5
= AttrParserStringSwitches
/-gen-clang-attr-parser-string-switches
/Attr.td
151 SING2
= clang
/Basic
/Version.inc \
152 clang
/Config
/config.h \
153 clang
/Headers
/arm_neon.h
155 .for ZZ in
1/AST
2/Sema
3/Basic
4/Serialization
5/Parse
156 . for FX in
${CLX
${ZZ
:H
}:H
:H
}
157 beforedepend
: clang
/${ZZ
:T
}/${FX}.inc
158 all: clang
/${ZZ
:T
}/${FX}.inc
160 . for FX in
${CLX
${ZZ
:H
}}
161 clang
/${ZZ
:T
}/${FX
:H
:H
}.inc
: ${FX
:T
} ${CGEN}
162 mkdir
-p
${.TARGET
:H
}
163 ${CGEN} ${FX
:H
:T
:S|
,| |
} ${CID
${ZZ
:H
}} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
167 beforedepend
: ${SING2}
170 clang
/Basic
/Version.inc
: ${.CURDIR
}/..
/block1
/configuration
/Version.inc
171 mkdir
-p
${.TARGET
:H
}
172 cp
${.ALLSRC
} ${.TARGET
}
174 clang
/Config
/config.h
: ${.CURDIR
}/..
/block1
/configuration
/config.h.clang
175 mkdir
-p
${.TARGET
:H
}
176 cp
${.ALLSRC
} ${.TARGET
}
178 clang
/Headers
/arm_neon.h
: arm_neon.td
${CGEN}
179 mkdir
-p
${.TARGET
:H
}
180 ${CGEN} -gen-arm-neon
${CXAST} ${.ALLSRC
:M
*.td
} -o
${.TARGET
}
182 .
include <bsd.prog.mk
>