1 2.include <bsd.init.mk> 3.include "../clang.pre.mk" 4 5.PATH: ${CLANG_SRCS}/lib/Headers 6 7INCSGROUPS+= INCS 8INCSDIR= ${LIBDIR}/clang/18/include 9INCS+= __clang_cuda_builtin_vars.h 10INCS+= __clang_cuda_cmath.h 11INCS+= __clang_cuda_complex_builtins.h 12INCS+= __clang_cuda_device_functions.h 13INCS+= __clang_cuda_intrinsics.h 14INCS+= __clang_cuda_libdevice_declares.h 15INCS+= __clang_cuda_math.h 16INCS+= __clang_cuda_math_forward_declares.h 17INCS+= __clang_cuda_runtime_wrapper.h 18INCS+= __clang_cuda_texture_intrinsics.h 19INCS+= __clang_hip_cmath.h 20INCS+= __clang_hip_libdevice_declares.h 21INCS+= __clang_hip_math.h 22INCS+= __clang_hip_runtime_wrapper.h 23INCS+= __clang_hip_stdlib.h 24INCS+= __stdarg___gnuc_va_list.h 25INCS+= __stdarg___va_copy.h 26INCS+= __stdarg_va_arg.h 27INCS+= __stdarg_va_copy.h 28INCS+= __stdarg_va_list.h 29INCS+= __stddef_max_align_t.h 30INCS+= __stddef_null.h 31INCS+= __stddef_nullptr_t.h 32INCS+= __stddef_offsetof.h 33INCS+= __stddef_ptrdiff_t.h 34INCS+= __stddef_rsize_t.h 35INCS+= __stddef_size_t.h 36INCS+= __stddef_unreachable.h 37INCS+= __stddef_wchar_t.h 38INCS+= __stddef_wint_t.h 39INCS+= __wmmintrin_aes.h 40INCS+= __wmmintrin_pclmul.h 41INCS+= adcintrin.h 42INCS+= adxintrin.h 43INCS+= altivec.h 44INCS+= ammintrin.h 45INCS+= amxcomplexintrin.h 46INCS+= amxfp16intrin.h 47INCS+= amxintrin.h 48INCS+= arm64intr.h 49INCS+= arm_acle.h 50INCS+= arm_cmse.h 51INCS+= arm_neon_sve_bridge.h 52INCS+= armintr.h 53INCS+= avx2intrin.h 54INCS+= avx512bf16intrin.h 55INCS+= avx512bitalgintrin.h 56INCS+= avx512bwintrin.h 57INCS+= avx512cdintrin.h 58INCS+= avx512dqintrin.h 59INCS+= avx512erintrin.h 60INCS+= avx512fintrin.h 61INCS+= avx512fp16intrin.h 62INCS+= avx512ifmaintrin.h 63INCS+= avx512ifmavlintrin.h 64INCS+= avx512pfintrin.h 65INCS+= avx512vbmi2intrin.h 66INCS+= avx512vbmiintrin.h 67INCS+= avx512vbmivlintrin.h 68INCS+= avx512vlbf16intrin.h 69INCS+= avx512vlbitalgintrin.h 70INCS+= avx512vlbwintrin.h 71INCS+= avx512vlcdintrin.h 72INCS+= avx512vldqintrin.h 73INCS+= avx512vlfp16intrin.h 74INCS+= avx512vlintrin.h 75INCS+= avx512vlvbmi2intrin.h 76INCS+= avx512vlvnniintrin.h 77INCS+= avx512vlvp2intersectintrin.h 78INCS+= avx512vnniintrin.h 79INCS+= avx512vp2intersectintrin.h 80INCS+= avx512vpopcntdqintrin.h 81INCS+= avx512vpopcntdqvlintrin.h 82INCS+= avxifmaintrin.h 83INCS+= avxintrin.h 84INCS+= avxneconvertintrin.h 85INCS+= avxvnniint16intrin.h 86INCS+= avxvnniint8intrin.h 87INCS+= avxvnniintrin.h 88INCS+= bmi2intrin.h 89INCS+= bmiintrin.h 90INCS+= builtins.h 91INCS+= cet.h 92INCS+= cetintrin.h 93INCS+= cldemoteintrin.h 94INCS+= clflushoptintrin.h 95INCS+= clwbintrin.h 96INCS+= clzerointrin.h 97INCS+= cmpccxaddintrin.h 98INCS+= cpuid.h 99INCS+= crc32intrin.h 100INCS+= emmintrin.h 101INCS+= enqcmdintrin.h 102INCS+= f16cintrin.h 103INCS+= fma4intrin.h 104INCS+= fmaintrin.h 105INCS+= fxsrintrin.h 106INCS+= gfniintrin.h 107INCS+= hexagon_circ_brev_intrinsics.h 108INCS+= hexagon_protos.h 109INCS+= hexagon_types.h 110INCS+= hlsl.h 111INCS+= hresetintrin.h 112INCS+= htmintrin.h 113INCS+= htmxlintrin.h 114INCS+= hvx_hexagon_protos.h 115INCS+= ia32intrin.h 116INCS+= immintrin.h 117INCS+= invpcidintrin.h 118INCS+= keylockerintrin.h 119INCS+= larchintrin.h 120INCS+= lasxintrin.h 121INCS+= lsxintrin.h 122INCS+= lwpintrin.h 123INCS+= lzcntintrin.h 124INCS+= mm3dnow.h 125INCS+= mm_malloc.h 126INCS+= mmintrin.h 127INCS+= module.modulemap 128INCS+= movdirintrin.h 129INCS+= msa.h 130INCS+= mwaitxintrin.h 131INCS+= nmmintrin.h 132INCS+= opencl-c-base.h 133INCS+= opencl-c.h 134INCS+= pconfigintrin.h 135INCS+= pkuintrin.h 136INCS+= pmmintrin.h 137INCS+= popcntintrin.h 138INCS+= prfchiintrin.h 139INCS+= prfchwintrin.h 140INCS+= ptwriteintrin.h 141INCS+= raointintrin.h 142INCS+= rdpruintrin.h 143INCS+= rdseedintrin.h 144INCS+= riscv_bitmanip.h 145INCS+= riscv_crypto.h 146INCS+= riscv_ntlh.h 147INCS+= riscv_vector.h 148INCS+= rtmintrin.h 149INCS+= s390intrin.h 150INCS+= serializeintrin.h 151INCS+= sgxintrin.h 152INCS+= sha512intrin.h 153INCS+= shaintrin.h 154INCS+= sifive_vector.h 155INCS+= sm3intrin.h 156INCS+= sm4intrin.h 157INCS+= smmintrin.h 158INCS+= stdckdint.h 159INCS+= tbmintrin.h 160INCS+= tmmintrin.h 161INCS+= tsxldtrkintrin.h 162INCS+= uintrintrin.h 163INCS+= usermsrintrin.h 164INCS+= vadefs.h 165INCS+= vaesintrin.h 166INCS+= vecintrin.h 167INCS+= velintrin.h 168INCS+= velintrin_approx.h 169INCS+= velintrin_gen.h 170INCS+= vpclmulqdqintrin.h 171INCS+= waitpkgintrin.h 172INCS+= wasm_simd128.h 173INCS+= wbnoinvdintrin.h 174INCS+= wmmintrin.h 175INCS+= x86gprintrin.h 176INCS+= x86intrin.h 177INCS+= xmmintrin.h 178INCS+= xopintrin.h 179INCS+= xsavecintrin.h 180INCS+= xsaveintrin.h 181INCS+= xsaveoptintrin.h 182INCS+= xsavesintrin.h 183INCS+= xtestintrin.h 184INCS+= ${GENINCS} 185 186# Headers which possibly conflict with our own versions: 187.ifdef INSTALL_CONFLICTING_CLANG_HEADERS 188INCS+= float.h 189INCS+= intrin.h 190INCS+= inttypes.h 191INCS+= iso646.h 192INCS+= limits.h 193INCS+= stdalign.h 194INCS+= stdarg.h 195INCS+= stdatomic.h 196INCS+= stdbool.h 197INCS+= stddef.h 198INCS+= stdint.h 199INCS+= stdnoreturn.h 200INCS+= tgmath.h 201INCS+= unwind.h 202INCS+= varargs.h 203.endif # INSTALL_CONFLICTING_CLANG_HEADERS 204 205INCSGROUPS+= CUDA 206CUDADIR= ${INCSDIR}/cuda_wrappers 207CUDA+= cuda_wrappers/algorithm 208CUDA+= cuda_wrappers/cmath 209CUDA+= cuda_wrappers/complex 210CUDA+= cuda_wrappers/new 211 212INCSGROUPS+= CUDB 213CUDBDIR= ${INCSDIR}/cuda_wrappers/bits 214CUDB+= cuda_wrappers/bits/basic_string.h 215CUDB+= cuda_wrappers/bits/basic_string.tcc 216CUDB+= cuda_wrappers/bits/shared_ptr_base.h 217 218INCSGROUPS+= HLSL 219HLSLDIR= ${INCSDIR}/hlsl 220HLSL+= hlsl/hlsl_basic_types.h 221HLSL+= hlsl/hlsl_intrinsics.h 222 223INCSGROUPS+= OMP 224OMPDIR= ${INCSDIR}/openmp_wrappers 225OMP+= openmp_wrappers/__clang_openmp_device_functions.h 226OMP+= openmp_wrappers/cmath 227OMP+= openmp_wrappers/complex 228OMP+= openmp_wrappers/complex.h 229OMP+= openmp_wrappers/complex_cmath.h 230OMP+= openmp_wrappers/math.h 231OMP+= openmp_wrappers/new 232 233INCSGROUPS+= PPC 234PPCDIR= ${INCSDIR}/ppc_wrappers 235PPC+= ppc_wrappers/bmi2intrin.h 236PPC+= ppc_wrappers/bmiintrin.h 237PPC+= ppc_wrappers/emmintrin.h 238PPC+= ppc_wrappers/immintrin.h 239PPC+= ppc_wrappers/mm_malloc.h 240PPC+= ppc_wrappers/mmintrin.h 241PPC+= ppc_wrappers/nmmintrin.h 242PPC+= ppc_wrappers/pmmintrin.h 243PPC+= ppc_wrappers/smmintrin.h 244PPC+= ppc_wrappers/tmmintrin.h 245PPC+= ppc_wrappers/x86gprintrin.h 246PPC+= ppc_wrappers/x86intrin.h 247PPC+= ppc_wrappers/xmmintrin.h 248 249.for hdr in bf16/bf16 cde/cde-header fp16/fp16 mve/mve-header neon/neon \ 250 sve/sve-header 251arm_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td 252 ${CLANG_TBLGEN} -gen-arm-${hdr:T} \ 253 -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \ 254 -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td 255GENINCS+= arm_${hdr:H}.h 256.endfor 257 258arm_sme_draft_spec_subject_to_change.h: ${CLANG_SRCS}/include/clang/Basic/arm_sme.td 259 ${CLANG_TBLGEN} -gen-arm-sme-header \ 260 -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \ 261 -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_sme.td 262GENINCS+= arm_sme_draft_spec_subject_to_change.h 263 264arm_vector_types.h: ${CLANG_SRCS}/include/clang/Basic/arm_sme.td 265 ${CLANG_TBLGEN} -gen-arm-vector-type \ 266 -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \ 267 -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td 268GENINCS+= arm_vector_types.h 269 270.for hdr in vector/vector-header 271riscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td 272 ${CLANG_TBLGEN} -gen-riscv-${hdr:T} \ 273 -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \ 274 -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td 275GENINCS+= riscv_${hdr:H}.h 276.endfor 277 278CLEANFILES= ${GENINCS} ${GENINCS:C/$/.d/} 279 280.include <bsd.prog.mk> 281