xref: /minix3/external/bsd/llvm/include/Makefile (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc#	$NetBSD: Makefile,v 1.37 2015/05/29 17:40:41 joerg Exp $
2f4a2713aSLionel Sambuc
3f4a2713aSLionel Sambuc.include <bsd.init.mk>
4f4a2713aSLionel Sambuc
5f4a2713aSLionel Sambuc.PATH:	${CLANG_SRCDIR}/lib/Headers
6f4a2713aSLionel Sambuc
7f4a2713aSLionel Sambuc.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
8f4a2713aSLionel SambucINCS=	__wmmintrin_aes.h \
9f4a2713aSLionel Sambuc	__wmmintrin_pclmul.h \
10*0a6a1f1dSLionel Sambuc	adxintrin.h \
11f4a2713aSLionel Sambuc	ammintrin.h \
12f4a2713aSLionel Sambuc	avx2intrin.h \
13*0a6a1f1dSLionel Sambuc	avx512bwintrin.h \
14*0a6a1f1dSLionel Sambuc	avx512fintrin.h \
15*0a6a1f1dSLionel Sambuc	avx512erintrin.h \
16*0a6a1f1dSLionel Sambuc	avx512vlbwintrin.h \
17*0a6a1f1dSLionel Sambuc	avx512vlintrin.h \
18f4a2713aSLionel Sambuc	avxintrin.h \
19f4a2713aSLionel Sambuc	bmi2intrin.h \
20f4a2713aSLionel Sambuc	bmiintrin.h \
21*0a6a1f1dSLionel Sambuc	cpuid.h \
22f4a2713aSLionel Sambuc	emmintrin.h \
23f4a2713aSLionel Sambuc	f16cintrin.h \
24f4a2713aSLionel Sambuc	fmaintrin.h \
25f4a2713aSLionel Sambuc	fma4intrin.h \
26*0a6a1f1dSLionel Sambuc	ia32intrin.h \
27f4a2713aSLionel Sambuc	immintrin.h \
28f4a2713aSLionel Sambuc	lzcntintrin.h \
29f4a2713aSLionel Sambuc	mm3dnow.h \
30f4a2713aSLionel Sambuc	mmintrin.h \
31f4a2713aSLionel Sambuc	mm_malloc.h \
32f4a2713aSLionel Sambuc	nmmintrin.h \
33f4a2713aSLionel Sambuc	pmmintrin.h \
34f4a2713aSLionel Sambuc	popcntintrin.h \
35f4a2713aSLionel Sambuc	prfchwintrin.h \
36f4a2713aSLionel Sambuc	rdseedintrin.h \
37f4a2713aSLionel Sambuc	rtmintrin.h \
38f4a2713aSLionel Sambuc	shaintrin.h \
39f4a2713aSLionel Sambuc	smmintrin.h \
40f4a2713aSLionel Sambuc	tbmintrin.h \
41f4a2713aSLionel Sambuc	tmmintrin.h \
42f4a2713aSLionel Sambuc	wmmintrin.h \
43f4a2713aSLionel Sambuc	x86intrin.h \
44f4a2713aSLionel Sambuc	xmmintrin.h \
45f4a2713aSLionel Sambuc	xopintrin.h
46*0a6a1f1dSLionel Sambuc.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
47f4a2713aSLionel SambucINCS=	altivec.h
48*0a6a1f1dSLionel Sambuc.elif ${MACHINE_CPU} == "arm"
49*0a6a1f1dSLionel SambucINCS=	arm_acle.h \
50*0a6a1f1dSLionel Sambuc	arm_neon.h
51f4a2713aSLionel Sambuc.endif
52*0a6a1f1dSLionel SambucINCS+=	stdatomic.h
53*0a6a1f1dSLionel SambucINCSDIR=	/usr/include/clang-${CLANG_VERSION:R}
54f4a2713aSLionel Sambuc
55f4a2713aSLionel Sambuc.PATH:	${LLVM_SRCDIR}/include/llvm/IR \
56f4a2713aSLionel Sambuc	${CLANG_SRCDIR}/include/clang/AST \
57f4a2713aSLionel Sambuc	${CLANG_SRCDIR}/include/clang/Basic \
58f4a2713aSLionel Sambuc	${CLANG_SRCDIR}/include/clang/Driver
59f4a2713aSLionel Sambuc
60*0a6a1f1dSLionel SambucTABLEGEN_SRC=	Intrinsics.td Options.td
61f4a2713aSLionel Sambuc
62f4a2713aSLionel SambucTABLEGEN_OUTPUT.Intrinsics.td= \
63f4a2713aSLionel Sambuc	llvm/IR/Intrinsics.gen|-gen-intrinsic
64f4a2713aSLionel Sambuc
65f4a2713aSLionel SambucCLANG_TABLEGEN_SRC=	Attr.td CommentCommands.td CommentHTMLTags.td \
66f4a2713aSLionel Sambuc	CommentNodes.td CommentHTMLNamedCharacterReferences.td DeclNodes.td \
67f4a2713aSLionel Sambuc	StmtNodes.td Diagnostic.td arm_neon.td
68f4a2713aSLionel Sambuc
69f4a2713aSLionel SambucCLANG_TABLEGEN_INCLUDES.Attr.td=	-I${CLANG_SRCDIR}/include
70f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.Attr.td= \
71f4a2713aSLionel Sambuc	clang/AST/Attrs.inc|-gen-clang-attr-classes \
72f4a2713aSLionel Sambuc	clang/AST/AttrDump.inc|-gen-clang-attr-dump \
73f4a2713aSLionel Sambuc	clang/AST/AttrImpl.inc|-gen-clang-attr-impl \
74*0a6a1f1dSLionel Sambuc	clang/AST/AttrVisitor.inc|-gen-clang-attr-ast-visitor \
75f4a2713aSLionel Sambuc	clang/Basic/AttrList.inc|-gen-clang-attr-list \
76*0a6a1f1dSLionel Sambuc	clang/Basic/AttrHasAttributeImpl.inc|-gen-clang-attr-has-attribute-impl \
77*0a6a1f1dSLionel Sambuc	clang/Parse/AttrParserStringSwitches.inc|-gen-clang-attr-parser-string-switches \
78f4a2713aSLionel Sambuc	clang/Sema/AttrParsedAttrImpl.inc|-gen-clang-attr-parsed-attr-impl \
79f4a2713aSLionel Sambuc	clang/Sema/AttrParsedAttrKinds.inc|-gen-clang-attr-parsed-attr-kinds \
80f4a2713aSLionel Sambuc	clang/Sema/AttrParsedAttrList.inc|-gen-clang-attr-parsed-attr-list \
81f4a2713aSLionel Sambuc	clang/Sema/AttrSpellingListIndex.inc|-gen-clang-attr-spelling-index \
82f4a2713aSLionel Sambuc	clang/Sema/AttrTemplateInstantiate.inc|-gen-clang-attr-template-instantiate \
83f4a2713aSLionel Sambuc	clang/Serialization/AttrPCHRead.inc|-gen-clang-attr-pch-read \
84f4a2713aSLionel Sambuc	clang/Serialization/AttrPCHWrite.inc|-gen-clang-attr-pch-write
85f4a2713aSLionel Sambuc
86f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.StmtNodes.td= \
87f4a2713aSLionel Sambuc	clang/AST/StmtNodes.inc|-gen-clang-stmt-nodes
88f4a2713aSLionel Sambuc
89f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.DeclNodes.td= \
90f4a2713aSLionel Sambuc	clang/AST/DeclNodes.inc|-gen-clang-decl-nodes
91f4a2713aSLionel Sambuc
92f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.CommentNodes.td= \
93f4a2713aSLionel Sambuc	clang/AST/CommentNodes.inc|-gen-clang-comment-nodes
94f4a2713aSLionel Sambuc
95f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.CommentCommands.td= \
96f4a2713aSLionel Sambuc	clang/AST/CommentCommandInfo.inc|-gen-clang-comment-command-info \
97f4a2713aSLionel Sambuc	clang/AST/CommentCommandList.inc|-gen-clang-comment-command-list
98f4a2713aSLionel Sambuc
99f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.CommentHTMLTags.td= \
100f4a2713aSLionel Sambuc	clang/AST/CommentHTMLTags.inc|-gen-clang-comment-html-tags \
101f4a2713aSLionel Sambuc	clang/AST/CommentHTMLTagsProperties.inc|-gen-clang-comment-html-tags-properties
102f4a2713aSLionel Sambuc
103f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.CommentHTMLNamedCharacterReferences.td= \
104f4a2713aSLionel Sambuc	clang/AST/CommentHTMLNamedCharacterReferences.inc|-gen-clang-comment-html-named-character-references
105f4a2713aSLionel Sambuc
106f4a2713aSLionel SambucCLANG_TABLEGEN_INCLUDES.Diagnostic.td=	-I${CLANG_SRCDIR}/include/clang/Basic
107f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.Diagnostic.td= \
108f4a2713aSLionel Sambuc	clang/Basic/DiagnosticAnalysisKinds.inc|-gen-clang-diags-defs^-clang-component=Analysis \
109f4a2713aSLionel Sambuc	clang/Basic/DiagnosticASTKinds.inc|-gen-clang-diags-defs^-clang-component=AST \
110f4a2713aSLionel Sambuc	clang/Basic/DiagnosticCommentKinds.inc|-gen-clang-diags-defs^-clang-component=Comment \
111f4a2713aSLionel Sambuc	clang/Basic/DiagnosticCommonKinds.inc|-gen-clang-diags-defs^-clang-component=Common \
112f4a2713aSLionel Sambuc	clang/Basic/DiagnosticDriverKinds.inc|-gen-clang-diags-defs^-clang-component=Driver \
113f4a2713aSLionel Sambuc	clang/Basic/DiagnosticFrontendKinds.inc|-gen-clang-diags-defs^-clang-component=Frontend \
114f4a2713aSLionel Sambuc	clang/Basic/DiagnosticLexKinds.inc|-gen-clang-diags-defs^-clang-component=Lex \
115f4a2713aSLionel Sambuc	clang/Basic/DiagnosticParseKinds.inc|-gen-clang-diags-defs^-clang-component=Parse \
116f4a2713aSLionel Sambuc	clang/Basic/DiagnosticSemaKinds.inc|-gen-clang-diags-defs^-clang-component=Sema \
117f4a2713aSLionel Sambuc	clang/Basic/DiagnosticSerializationKinds.inc|-gen-clang-diags-defs^-clang-component=Serialization \
118f4a2713aSLionel Sambuc	clang/Basic/DiagnosticGroups.inc|-gen-clang-diag-groups \
119f4a2713aSLionel Sambuc	clang/Basic/DiagnosticIndexName.inc|-gen-clang-diags-index-name
120f4a2713aSLionel Sambuc
121f4a2713aSLionel SambucCLANG_TABLEGEN_OUTPUT.arm_neon.td= \
122f4a2713aSLionel Sambuc	clang/Basic/arm_neon.inc|-gen-arm-neon-sema \
123*0a6a1f1dSLionel Sambuc	arm_neon.h|-gen-arm-neon
124f4a2713aSLionel Sambuc
125f4a2713aSLionel SambucTABLEGEN_INCLUDES.Options.td=	-I${CLANG_SRCDIR}/include/clang/Driver
126f4a2713aSLionel SambucTABLEGEN_OUTPUT.Options.td= \
127f4a2713aSLionel Sambuc	clang/Driver/Options.inc|-gen-opt-parser-defs
128f4a2713aSLionel Sambuc
129f4a2713aSLionel Sambuc.include "${.PARSEDIR}/../tablegen.mk"
130f4a2713aSLionel Sambuc
131f4a2713aSLionel SambucDPSRCS+=	clang/Basic/Version.inc
132f4a2713aSLionel SambucCLEANFILES+=	clang/Basic/Version.inc
133f4a2713aSLionel Sambuc
134f4a2713aSLionel Sambucclang/Basic/Version.inc: ${LLVM_TOPLEVEL}/Makefile.inc
135f4a2713aSLionel Sambuc	mkdir -p ${.TARGET:H}
136f4a2713aSLionel Sambuc	printf '#define CLANG_VERSION ${CLANG_VERSION}\n' > ${.TARGET}.tmp
137*0a6a1f1dSLionel Sambuc	printf '#define CLANG_VERSION_MAJOR ${CLANG_VERSION:R:R}\n' >> ${.TARGET}.tmp
138*0a6a1f1dSLionel Sambuc	printf '#define CLANG_VERSION_MINOR ${CLANG_VERSION:R:E}\n' >> ${.TARGET}.tmp
139f4a2713aSLionel Sambuc	mv ${.TARGET}.tmp ${.TARGET}
140f4a2713aSLionel Sambuc
141*0a6a1f1dSLionel Sambuclld/Config/Version.inc: ${LLVM_TOPLEVEL}/Makefile.inc
142*0a6a1f1dSLionel Sambuc
143*0a6a1f1dSLionel Sambuc.if ${MKLLD} != "no"
144*0a6a1f1dSLionel SambucDPSRCS+=	lld/Config/Version.inc
145*0a6a1f1dSLionel SambucCLEANFILES+=	lld/Config/Version.inc
146*0a6a1f1dSLionel Sambuc
147*0a6a1f1dSLionel Sambuclld/Config/Version.inc: ${LLVM_TOPLEVEL}/Makefile.inc
148*0a6a1f1dSLionel Sambuc	mkdir -p ${.TARGET:H}
149*0a6a1f1dSLionel Sambuc	printf '#define LLD_VERSION ${LLD_VERSION}\n' > ${.TARGET}.tmp
150*0a6a1f1dSLionel Sambuc	printf '#define LLD_VERSION_MAJOR ${LLD_VERSION:R:R}\n' >> ${.TARGET}.tmp
151*0a6a1f1dSLionel Sambuc	printf '#define LLD_VERSION_MINOR ${LLD_VERSION:R:E}\n' >> ${.TARGET}.tmp
152*0a6a1f1dSLionel Sambuc	printf '#define LLD_REVISION_STRING "r${LLD_REVISION}"\n' >> ${.TARGET}.tmp
153*0a6a1f1dSLionel Sambuc	printf '#define LLD_REPOSITORY_STRING "${SVN_ROOT}/lld/${SVN_BRANCH}"\n' >> ${.TARGET}.tmp
154*0a6a1f1dSLionel Sambuc	mv ${.TARGET}.tmp ${.TARGET}
155*0a6a1f1dSLionel Sambuc.endif
156*0a6a1f1dSLionel Sambuc
157f4a2713aSLionel Sambuc.ifndef HOST_BUILD
158f4a2713aSLionel Sambuc
159f4a2713aSLionel SambucDPSRCS+=	llvm/Config/config.h llvm/Config/llvm-config.h
160f4a2713aSLionel SambucCLEANFILES+=	llvm/Config/config.h llvm/Config/llvm-config.h
161f4a2713aSLionel Sambuc
162f4a2713aSLionel Sambucllvm/Config/config.h: ${LLVM_TOPLEVEL}/Makefile.inc ${LLVM_TOPLEVEL}/config/llvm/Config/config.h.in
163f4a2713aSLionel Sambuc	mkdir -p ${.TARGET:H}
164f4a2713aSLionel Sambuc	${TOOL_SED} -e /LLVM_DEFAULT_TARGET_TRIPLE/d -e /LLVM_NATIVE_/d \
165*0a6a1f1dSLionel Sambuc	    -e /LLVM_VERSION_/d -e /PACKAGE_VERSION/d -e 'x' \
166f4a2713aSLionel Sambuc	    < ${LLVM_TOPLEVEL}/config/llvm/Config/config.h.in \
167f4a2713aSLionel Sambuc	    > ${.TARGET}.tmp
168f4a2713aSLionel Sambuc	printf '#define LLVM_DEFAULT_TARGET_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp
169f4a2713aSLionel Sambuc	printf '#define PACKAGE_VERSION "${LLVM_VERSION} (trunk ${LLVM_REVISION})"\n' >> ${.TARGET}.tmp
170*0a6a1f1dSLionel Sambuc	printf '#define LLVM_VERSION_MAJOR ${LLVM_VERSION:R:R}\n' >> ${.TARGET}.tmp
171*0a6a1f1dSLionel Sambuc	printf '#define LLVM_VERSION_MINOR ${LLVM_VERSION:R:E}\n' >> ${.TARGET}.tmp
172f4a2713aSLionel Sambuc	printf '#endif\n' >> ${.TARGET}.tmp
173f4a2713aSLionel Sambuc	mv ${.TARGET}.tmp ${.TARGET}
174f4a2713aSLionel Sambuc
175f4a2713aSLionel Sambucllvm/Config/llvm-config.h: ${LLVM_TOPLEVEL}/Makefile.inc ${LLVM_TOPLEVEL}/config/llvm/Config/llvm-config.h.in
176f4a2713aSLionel Sambuc	mkdir -p ${.TARGET:H}
177f4a2713aSLionel Sambuc	${TOOL_SED} -e /LLVM_DEFAULT_TARGET_TRIPLE/d -e /LLVM_NATIVE_/d \
178*0a6a1f1dSLionel Sambuc	    -e /LLVM_VERSION_/d -e /PACKAGE_VERSION/d -e 'x' \
179f4a2713aSLionel Sambuc	    < ${LLVM_TOPLEVEL}/config/llvm/Config/llvm-config.h.in \
180f4a2713aSLionel Sambuc	    > ${.TARGET}.tmp
181f4a2713aSLionel Sambuc	printf '#define LLVM_DEFAULT_TARGET_TRIPLE "${MACHINE_GNU_PLATFORM}"\n' >> ${.TARGET}.tmp
182*0a6a1f1dSLionel Sambuc	printf '#define LLVM_VERSION_MAJOR ${LLVM_VERSION:R:R}\n' >> ${.TARGET}.tmp
183*0a6a1f1dSLionel Sambuc	printf '#define LLVM_VERSION_MINOR ${LLVM_VERSION:R:E}\n' >> ${.TARGET}.tmp
184f4a2713aSLionel Sambuc	printf '#endif\n' >> ${.TARGET}.tmp
185f4a2713aSLionel Sambuc	mv ${.TARGET}.tmp ${.TARGET}
186f4a2713aSLionel Sambuc
187f4a2713aSLionel Sambucrun-configure:
188f4a2713aSLionel Sambuc	[ ! -d tmp ] || rm -r tmp
189f4a2713aSLionel Sambuc	mkdir -p tmp
190f4a2713aSLionel Sambuc	cd tmp && ${LLVM_SRCDIR}/configure ${LLVM_CONFIGURE_ARGS} \
191f4a2713aSLionel Sambuc	    CC=${CC:Q} CFLAGS=${CFLAGS:N-Werror:Q} CXX=${CXX:Q} CXXFLAGS=${CXXFLAGS:N-Werror:Q} \
192f4a2713aSLionel Sambuc	    CPPFLAGS=${CPPFLAGS:N-std=c++11:Q} LDFLAGS=${LDFLAGS:Q} LD=${LD:Q} LIBS=-lm \
193f4a2713aSLionel Sambuc	    ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_mmap_file=yes llvm_cv_c_printf_a=yes
194f4a2713aSLionel Sambuc	cp -r tmp/include/llvm/* ${LLVM_INCLUDE_CONFIG}/llvm/
195f4a2713aSLionel Sambuc	mv ${LLVM_INCLUDE_CONFIG}/llvm/Config/config.h \
196f4a2713aSLionel Sambuc	   ${LLVM_INCLUDE_CONFIG}/llvm/Config/config.h.in
197f4a2713aSLionel Sambuc	mv ${LLVM_INCLUDE_CONFIG}/llvm/Config/llvm-config.h \
198f4a2713aSLionel Sambuc	   ${LLVM_INCLUDE_CONFIG}/llvm/Config/llvm-config.h.in
199f4a2713aSLionel Sambuc	cp -r tmp/tools/clang/include/clang/* ${CLANG_INCLUDE_CONFIG}/clang/
200f4a2713aSLionel Sambuc	rm -r tmp
201f4a2713aSLionel Sambuc.endif
202f4a2713aSLionel Sambuc
203f4a2713aSLionel Sambucdepend dependall all: ${DPSRCS}
204f4a2713aSLionel Sambuc
205f4a2713aSLionel Sambuc.include <bsd.prog.mk>
206