xref: /freebsd/lib/clang/headers/Makefile (revision 4d3fc8b0)
1# $FreeBSD$
2
3.include "../clang.pre.mk"
4
5.PATH:		${CLANG_SRCS}/lib/Headers
6
7INCSGROUPS=	INCS CUDA HLSL OMP PPC
8INCSDIR=	${LIBDIR}/clang/15.0.7/include
9CUDADIR=	${INCSDIR}/cuda_wrappers
10HLSLDIR=	${INCSDIR}/hlsl
11OMPDIR=		${INCSDIR}/openmp_wrappers
12PPCDIR=		${INCSDIR}/ppc_wrappers
13
14INCS+=		__clang_cuda_builtin_vars.h
15INCS+=		__clang_cuda_cmath.h
16INCS+=		__clang_cuda_complex_builtins.h
17INCS+=		__clang_cuda_device_functions.h
18INCS+=		__clang_cuda_intrinsics.h
19INCS+=		__clang_cuda_libdevice_declares.h
20INCS+=		__clang_cuda_math.h
21INCS+=		__clang_cuda_math_forward_declares.h
22INCS+=		__clang_cuda_runtime_wrapper.h
23INCS+=		__clang_cuda_texture_intrinsics.h
24INCS+=		__clang_hip_cmath.h
25INCS+=		__clang_hip_libdevice_declares.h
26INCS+=		__clang_hip_math.h
27INCS+=		__clang_hip_runtime_wrapper.h
28INCS+=		__stddef_max_align_t.h
29INCS+=		__wmmintrin_aes.h
30INCS+=		__wmmintrin_pclmul.h
31INCS+=		adxintrin.h
32INCS+=		altivec.h
33INCS+=		ammintrin.h
34INCS+=		amxintrin.h
35INCS+=		arm64intr.h
36INCS+=		arm_acle.h
37INCS+=		arm_cmse.h
38INCS+=		arm_neon_sve_bridge.h
39INCS+=		armintr.h
40INCS+=		avx2intrin.h
41INCS+=		avx512bf16intrin.h
42INCS+=		avx512bitalgintrin.h
43INCS+=		avx512bwintrin.h
44INCS+=		avx512cdintrin.h
45INCS+=		avx512dqintrin.h
46INCS+=		avx512erintrin.h
47INCS+=		avx512fintrin.h
48INCS+=		avx512fp16intrin.h
49INCS+=		avx512ifmaintrin.h
50INCS+=		avx512ifmavlintrin.h
51INCS+=		avx512pfintrin.h
52INCS+=		avx512vbmi2intrin.h
53INCS+=		avx512vbmiintrin.h
54INCS+=		avx512vbmivlintrin.h
55INCS+=		avx512vlbf16intrin.h
56INCS+=		avx512vlbitalgintrin.h
57INCS+=		avx512vlbwintrin.h
58INCS+=		avx512vlcdintrin.h
59INCS+=		avx512vldqintrin.h
60INCS+=		avx512vlfp16intrin.h
61INCS+=		avx512vlintrin.h
62INCS+=		avx512vlvbmi2intrin.h
63INCS+=		avx512vlvnniintrin.h
64INCS+=		avx512vlvp2intersectintrin.h
65INCS+=		avx512vnniintrin.h
66INCS+=		avx512vp2intersectintrin.h
67INCS+=		avx512vpopcntdqintrin.h
68INCS+=		avx512vpopcntdqvlintrin.h
69INCS+=		avxintrin.h
70INCS+=		avxvnniintrin.h
71INCS+=		bmi2intrin.h
72INCS+=		bmiintrin.h
73INCS+=		builtins.h
74INCS+=		cet.h
75INCS+=		cetintrin.h
76INCS+=		cldemoteintrin.h
77INCS+=		clflushoptintrin.h
78INCS+=		clwbintrin.h
79INCS+=		clzerointrin.h
80INCS+=		cpuid.h
81INCS+=		crc32intrin.h
82INCS+=		emmintrin.h
83INCS+=		enqcmdintrin.h
84INCS+=		f16cintrin.h
85INCS+=		fma4intrin.h
86INCS+=		fmaintrin.h
87INCS+=		fxsrintrin.h
88INCS+=		gfniintrin.h
89INCS+=		hexagon_circ_brev_intrinsics.h
90INCS+=		hexagon_protos.h
91INCS+=		hexagon_types.h
92INCS+=		hlsl.h
93INCS+=		hresetintrin.h
94INCS+=		htmintrin.h
95INCS+=		htmxlintrin.h
96INCS+=		hvx_hexagon_protos.h
97INCS+=		ia32intrin.h
98INCS+=		immintrin.h
99INCS+=		invpcidintrin.h
100INCS+=		keylockerintrin.h
101INCS+=		lwpintrin.h
102INCS+=		lzcntintrin.h
103INCS+=		mm3dnow.h
104INCS+=		mm_malloc.h
105INCS+=		mmintrin.h
106INCS+=		module.modulemap
107INCS+=		movdirintrin.h
108INCS+=		msa.h
109INCS+=		mwaitxintrin.h
110INCS+=		nmmintrin.h
111INCS+=		opencl-c-base.h
112INCS+=		opencl-c.h
113INCS+=		pconfigintrin.h
114INCS+=		pkuintrin.h
115INCS+=		pmmintrin.h
116INCS+=		popcntintrin.h
117INCS+=		prfchwintrin.h
118INCS+=		ptwriteintrin.h
119INCS+=		rdpruintrin.h
120INCS+=		rdseedintrin.h
121INCS+=		rtmintrin.h
122INCS+=		s390intrin.h
123INCS+=		serializeintrin.h
124INCS+=		sgxintrin.h
125INCS+=		shaintrin.h
126INCS+=		smmintrin.h
127INCS+=		tbmintrin.h
128INCS+=		tmmintrin.h
129INCS+=		tsxldtrkintrin.h
130INCS+=		uintrintrin.h
131INCS+=		vadefs.h
132INCS+=		vaesintrin.h
133INCS+=		vecintrin.h
134INCS+=		velintrin.h
135INCS+=		velintrin_approx.h
136INCS+=		velintrin_gen.h
137INCS+=		vpclmulqdqintrin.h
138INCS+=		waitpkgintrin.h
139INCS+=		wasm_simd128.h
140INCS+=		wbnoinvdintrin.h
141INCS+=		wmmintrin.h
142INCS+=		x86gprintrin.h
143INCS+=		x86intrin.h
144INCS+=		xmmintrin.h
145INCS+=		xopintrin.h
146INCS+=		xsavecintrin.h
147INCS+=		xsaveintrin.h
148INCS+=		xsaveoptintrin.h
149INCS+=		xsavesintrin.h
150INCS+=		xtestintrin.h
151INCS+=		${GENINCS}
152
153# Headers which possibly conflict with our own versions:
154.ifdef INSTALL_CONFLICTING_CLANG_HEADERS
155INCS+=		float.h
156INCS+=		intrin.h
157INCS+=		inttypes.h
158INCS+=		iso646.h
159INCS+=		limits.h
160INCS+=		stdalign.h
161INCS+=		stdarg.h
162INCS+=		stdatomic.h
163INCS+=		stdbool.h
164INCS+=		stddef.h
165INCS+=		stdint.h
166INCS+=		stdnoreturn.h
167INCS+=		tgmath.h
168INCS+=		unwind.h
169INCS+=		varargs.h
170.endif # INSTALL_CONFLICTING_CLANG_HEADERS
171
172CUDA+=		cuda_wrappers/algorithm
173CUDA+=		cuda_wrappers/complex
174CUDA+=		cuda_wrappers/new
175
176HLSL+=		hlsl/hlsl_basic_types.h
177HLSL+=		hlsl/hlsl_intrinsics.h
178
179OMP+=		openmp_wrappers/__clang_openmp_device_functions.h
180OMP+=		openmp_wrappers/cmath
181OMP+=		openmp_wrappers/complex
182OMP+=		openmp_wrappers/complex.h
183OMP+=		openmp_wrappers/complex_cmath.h
184OMP+=		openmp_wrappers/math.h
185OMP+=		openmp_wrappers/new
186
187PPC+=		ppc_wrappers/bmi2intrin.h
188PPC+=		ppc_wrappers/bmiintrin.h
189PPC+=		ppc_wrappers/emmintrin.h
190PPC+=		ppc_wrappers/immintrin.h
191PPC+=		ppc_wrappers/mm_malloc.h
192PPC+=		ppc_wrappers/mmintrin.h
193PPC+=		ppc_wrappers/pmmintrin.h
194PPC+=		ppc_wrappers/smmintrin.h
195PPC+=		ppc_wrappers/tmmintrin.h
196PPC+=		ppc_wrappers/x86gprintrin.h
197PPC+=		ppc_wrappers/x86intrin.h
198PPC+=		ppc_wrappers/xmmintrin.h
199
200.for hdr in bf16/bf16 cde/cde-header fp16/fp16 mve/mve-header neon/neon \
201	sve/sve-header
202arm_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
203	${CLANG_TBLGEN} -gen-arm-${hdr:T} \
204	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
205	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
206GENINCS+=	arm_${hdr:H}.h
207.endfor
208
209.for hdr in vector/vector-header
210riscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
211	${CLANG_TBLGEN} -gen-riscv-${hdr:T} \
212	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
213	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
214GENINCS+=	riscv_${hdr:H}.h
215.endfor
216
217${GENINCS}: ${CLANG_TBLGEN_BIN}
218
219CLEANFILES=	${GENINCS} ${GENINCS:C/$/.d/}
220
221.include <bsd.prog.mk>
222