kernel - CAM cleanup 3/N - Remove unnecessary mplocks
[dragonfly.git] / llvm_clang / block3 / Makefile
blob4fbb21d718099afb6acf8b2075096ea1ec74ebc8
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
29 TINX_AArch64= \
30 ${TINX} \
31 GenAsmWriter1/-gen-asm-writer,-asmwriternum=1 \
32 GenMCPseudoLowering/-gen-pseudo-lowering
33 TINX_AMDGPU= \
34 ${TINX:NGenFastISel*:NGenDisassembler*} \
35 GenDFAPacketizer/-gen-dfa-packetizer \
36 GenIntrinsics/-gen-tgt-intrinsic
37 TINX_ARM= \
38 ${TINX} \
39 GenMCPseudoLowering/-gen-pseudo-lowering
40 TINX_PowerPC= \
41 ${TINX}
42 TINX_Mips= \
43 ${TINX} \
44 GenMCPseudoLowering/-gen-pseudo-lowering
45 TINX_X86= \
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
54 .for T in ${TGTS}
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
58 . endfor
59 .endfor
60 beforedepend: ${SING1}
61 all: ${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}
72 mkdir -p ${.TARGET:H}
73 ${TGEN} -gen-opt-parser-defs ${CIOPT} ${.ALLSRC:M*.td} -o ${.TARGET}
75 llvm/IR/Attributes.inc: Attributes.td ${TGEN}
76 mkdir -p ${.TARGET:H}
77 ${TGEN} -gen-attrs ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET}
79 llvm/IR/Intrinsics.gen: Intrinsics.td ${TGEN}
80 mkdir -p ${.TARGET:H}
81 ${TGEN} -gen-intrinsic ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET}
83 lib/IR/AttributesCompatFunc.inc: AttributesCompatFunc.td ${TGEN}
84 mkdir -p ${.TARGET:H}
85 ${TGEN} -gen-attrs ${TGINCS} ${.ALLSRC:M*.td} -o ${.TARGET}
88 .for T in ${TGTS}
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}
94 . endfor
95 .endfor
97 # CLANG Generations
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
159 . endfor
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}
164 . endfor
165 .endfor
167 beforedepend: ${SING2}
168 all: ${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>