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