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.3/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 217CLEANFILES= ${GENINCS} ${GENINCS:C/$/.d/} 218 219.include <bsd.prog.mk> 220