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