xref: /freebsd/lib/clang/headers/Makefile (revision 0b37c1590418417c894529d371800dfac71ef887)
1
2# $FreeBSD$
3
4.include "../clang.pre.mk"
5
6.PATH:		${CLANG_SRCS}/lib/Headers
7
8INCSGROUPS=	INCS CUDA FUZZ OMP PPC PROF SAN
9INCSDIR=	${LIBDIR}/clang/10.0.0/include
10CUDADIR=	${INCSDIR}/cuda_wrappers
11FUZZDIR=	${INCSDIR}/fuzzer
12OMPDIR=		${INCSDIR}/openmp_wrappers
13PPCDIR=		${INCSDIR}/ppc_wrappers
14PROFDIR=	${INCSDIR}/profile
15SANDIR=		${INCSDIR}/sanitizer
16
17GENINCS+=	arm_fp16.h
18GENINCS+=	arm_mve.h
19GENINCS+=	arm_neon.h
20
21INCS+=		__clang_cuda_builtin_vars.h
22INCS+=		__clang_cuda_cmath.h
23INCS+=		__clang_cuda_complex_builtins.h
24INCS+=		__clang_cuda_device_functions.h
25INCS+=		__clang_cuda_intrinsics.h
26INCS+=		__clang_cuda_libdevice_declares.h
27INCS+=		__clang_cuda_math_forward_declares.h
28INCS+=		__clang_cuda_runtime_wrapper.h
29INCS+=		__stddef_max_align_t.h
30INCS+=		__wmmintrin_aes.h
31INCS+=		__wmmintrin_pclmul.h
32INCS+=		adxintrin.h
33INCS+=		altivec.h
34INCS+=		ammintrin.h
35INCS+=		arm64intr.h
36INCS+=		arm_acle.h
37INCS+=		arm_cmse.h
38INCS+=		armintr.h
39INCS+=		avx2intrin.h
40INCS+=		avx512bf16intrin.h
41INCS+=		avx512bitalgintrin.h
42INCS+=		avx512bwintrin.h
43INCS+=		avx512cdintrin.h
44INCS+=		avx512dqintrin.h
45INCS+=		avx512erintrin.h
46INCS+=		avx512fintrin.h
47INCS+=		avx512ifmaintrin.h
48INCS+=		avx512ifmavlintrin.h
49INCS+=		avx512pfintrin.h
50INCS+=		avx512vbmi2intrin.h
51INCS+=		avx512vbmiintrin.h
52INCS+=		avx512vbmivlintrin.h
53INCS+=		avx512vlbf16intrin.h
54INCS+=		avx512vlbitalgintrin.h
55INCS+=		avx512vlbwintrin.h
56INCS+=		avx512vlcdintrin.h
57INCS+=		avx512vldqintrin.h
58INCS+=		avx512vlintrin.h
59INCS+=		avx512vlvbmi2intrin.h
60INCS+=		avx512vlvnniintrin.h
61INCS+=		avx512vlvp2intersectintrin.h
62INCS+=		avx512vnniintrin.h
63INCS+=		avx512vp2intersectintrin.h
64INCS+=		avx512vpopcntdqintrin.h
65INCS+=		avx512vpopcntdqvlintrin.h
66INCS+=		avxintrin.h
67INCS+=		bmi2intrin.h
68INCS+=		bmiintrin.h
69INCS+=		cetintrin.h
70INCS+=		cldemoteintrin.h
71INCS+=		clflushoptintrin.h
72INCS+=		clwbintrin.h
73INCS+=		clzerointrin.h
74INCS+=		cpuid.h
75INCS+=		emmintrin.h
76INCS+=		enqcmdintrin.h
77INCS+=		f16cintrin.h
78INCS+=		fma4intrin.h
79INCS+=		fmaintrin.h
80INCS+=		fxsrintrin.h
81INCS+=		gfniintrin.h
82INCS+=		htmintrin.h
83INCS+=		htmxlintrin.h
84INCS+=		ia32intrin.h
85INCS+=		immintrin.h
86INCS+=		invpcidintrin.h
87INCS+=		lwpintrin.h
88INCS+=		lzcntintrin.h
89INCS+=		mm3dnow.h
90INCS+=		mm_malloc.h
91INCS+=		mmintrin.h
92INCS+=		module.modulemap
93INCS+=		movdirintrin.h
94INCS+=		msa.h
95INCS+=		mwaitxintrin.h
96INCS+=		nmmintrin.h
97INCS+=		opencl-c-base.h
98INCS+=		opencl-c.h
99INCS+=		pconfigintrin.h
100INCS+=		pkuintrin.h
101INCS+=		pmmintrin.h
102INCS+=		popcntintrin.h
103INCS+=		prfchwintrin.h
104INCS+=		ptwriteintrin.h
105INCS+=		rdseedintrin.h
106INCS+=		rtmintrin.h
107INCS+=		s390intrin.h
108INCS+=		sgxintrin.h
109INCS+=		shaintrin.h
110INCS+=		smmintrin.h
111INCS+=		tbmintrin.h
112INCS+=		tmmintrin.h
113INCS+=		vadefs.h
114INCS+=		vaesintrin.h
115INCS+=		vecintrin.h
116INCS+=		vpclmulqdqintrin.h
117INCS+=		waitpkgintrin.h
118INCS+=		wbnoinvdintrin.h
119INCS+=		wmmintrin.h
120INCS+=		x86intrin.h
121INCS+=		xmmintrin.h
122INCS+=		xopintrin.h
123INCS+=		xsavecintrin.h
124INCS+=		xsaveintrin.h
125INCS+=		xsaveoptintrin.h
126INCS+=		xsavesintrin.h
127INCS+=		xtestintrin.h
128INCS+=		${GENINCS}
129
130# Headers which possibly conflict with our own versions:
131.if defined(INSTALL_CONFLICTING_CLANG_HEADERS)
132INCS+=		float.h
133INCS+=		intrin.h
134INCS+=		inttypes.h
135INCS+=		iso646.h
136INCS+=		limits.h
137INCS+=		stdalign.h
138INCS+=		stdarg.h
139INCS+=		stdatomic.h
140INCS+=		stdbool.h
141INCS+=		stddef.h
142INCS+=		stdint.h
143INCS+=		stdnoreturn.h
144INCS+=		tgmath.h
145INCS+=		varargs.h
146.endif
147
148CUDA+=		cuda_wrappers/algorithm
149CUDA+=		cuda_wrappers/complex
150CUDA+=		cuda_wrappers/new
151
152FUZZ+=		fuzzer/FuzzedDataProvider.h
153
154OMP+=		openmp_wrappers/__clang_openmp_math.h
155OMP+=		openmp_wrappers/__clang_openmp_math_declares.h
156OMP+=		openmp_wrappers/cmath
157OMP+=		openmp_wrappers/math.h
158
159PPC+=		ppc_wrappers/emmintrin.h
160PPC+=		ppc_wrappers/mm_malloc.h
161PPC+=		ppc_wrappers/mmintrin.h
162PPC+=		ppc_wrappers/pmmintrin.h
163PPC+=		ppc_wrappers/smmintrin.h
164PPC+=		ppc_wrappers/tmmintrin.h
165PPC+=		ppc_wrappers/xmmintrin.h
166
167PROF+=		profile/InstrProfData.inc
168
169SAN+=		sanitizer/allocator_interface.h
170SAN+=		sanitizer/asan_interface.h
171SAN+=		sanitizer/common_interface_defs.h
172SAN+=		sanitizer/coverage_interface.h
173SAN+=		sanitizer/dfsan_interface.h
174SAN+=		sanitizer/hwasan_interface.h
175SAN+=		sanitizer/linux_syscall_hooks.h
176SAN+=		sanitizer/lsan_interface.h
177SAN+=		sanitizer/msan_interface.h
178SAN+=		sanitizer/netbsd_syscall_hooks.h
179SAN+=		sanitizer/scudo_interface.h
180SAN+=		sanitizer/tsan_interface.h
181SAN+=		sanitizer/tsan_interface_atomic.h
182SAN+=		sanitizer/ubsan_interface.h
183
184XRAY+=		xray/xray_interface.h
185XRAY+=		xray/xray_log_interface.h
186XRAY+=		xray/xray_records.h
187
188arm_fp16.h: ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
189	${CLANG_TBLGEN} -gen-arm-fp16 \
190	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
191	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
192
193arm_mve.h: ${CLANG_SRCS}/include/clang/Basic/arm_mve.td
194	${CLANG_TBLGEN} -gen-arm-mve-header \
195	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
196	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_mve.td
197
198arm_neon.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
199	${CLANG_TBLGEN} -gen-arm-neon \
200	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
201	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
202
203CLEANFILES=	${GENINCS} ${GENINCS:C/$/.d/}
204
205.include <bsd.prog.mk>
206