1*1ad61ae0Srobert# $OpenBSD: Makefile,v 1.26 2023/11/11 18:35:35 robert Exp $ 20545c0e3Spascal 30545c0e3Spascal.include <bsd.own.mk> 40545c0e3Spascal 5*1ad61ae0SrobertLLVM_V= 16 60545c0e3SpascalCLANG_INTR_INCDIR= /usr/lib/clang/${LLVM_V}/include 70545c0e3Spascal 8668710abSkettenisTBLGEN= ${.OBJDIR}/../../../clang-tblgen/clang-tblgen 9aa1fa3d4SpatrickCLANG_INC=${.CURDIR}/../../../../../llvm/clang/include 10668710abSkettenis 11aa1fa3d4Spatrick.PATH: ${.CURDIR}/../../../../../llvm/clang/lib/Headers 120545c0e3Spascal 13668710abSkettenisGEN= 14*1ad61ae0SrobertHEADERS= intrin.h \ 15*1ad61ae0Srobert stdalign.h \ 163540aa19Skettenis stdatomic.h \ 173540aa19Skettenis stdnoreturn.h \ 183540aa19Skettenis tgmath.h \ 193540aa19Skettenis unwind.h \ 20*1ad61ae0Srobert vadefs.h \ 213540aa19Skettenis varargs.h \ 223540aa19Skettenis module.modulemap \ 233540aa19Skettenis 243540aa19Skettenis.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "arm" 25668710abSkettenisGEN+= arm_neon.h 264f0ddf55SpatrickGEN+= arm_fp16.h 27c04ab3e3SpatrickGEN+= arm_sve.h 28c04ab3e3SpatrickGEN+= arm_bf16.h 29aa1fa3d4SpatrickGEN+= arm_mve.h 30c04ab3e3SpatrickGEN+= arm_cde.h 31aa1fa3d4SpatrickHEADERS+= arm_acle.h arm_cmse.h ${GEN} 323540aa19Skettenis.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" 33*1ad61ae0SrobertHEADERS+= __wmmintrin_aes.h \ 34*1ad61ae0Srobert __wmmintrin_pclmul.h \ 35*1ad61ae0Srobert adxintrin.h \ 360545c0e3Spascal ammintrin.h \ 37*1ad61ae0Srobert amxfp16intrin.h \ 38c04ab3e3Spatrick amxintrin.h \ 390545c0e3Spascal avx2intrin.h \ 40aa1fa3d4Spatrick avx512bf16intrin.h \ 41c04ab3e3Spatrick avx512bitalgintrin.h \ 42*1ad61ae0Srobert avx512bwintrin.h \ 430545c0e3Spascal avx512cdintrin.h \ 444ad36cc8Skettenis avx512dqintrin.h \ 450545c0e3Spascal avx512erintrin.h \ 460545c0e3Spascal avx512fintrin.h \ 47*1ad61ae0Srobert avx512fp16intrin.h \ 484ad36cc8Skettenis avx512ifmaintrin.h \ 494ad36cc8Skettenis avx512ifmavlintrin.h \ 504ad36cc8Skettenis avx512pfintrin.h \ 51*1ad61ae0Srobert avx512vbmi2intrin.h \ 524ad36cc8Skettenis avx512vbmiintrin.h \ 534ad36cc8Skettenis avx512vbmivlintrin.h \ 54aa1fa3d4Spatrick avx512vlbf16intrin.h \ 55*1ad61ae0Srobert avx512vlbitalgintrin.h \ 560545c0e3Spascal avx512vlbwintrin.h \ 574ad36cc8Skettenis avx512vlcdintrin.h \ 580545c0e3Spascal avx512vldqintrin.h \ 59*1ad61ae0Srobert avx512vlfp16intrin.h \ 604ad36cc8Skettenis avx512vlintrin.h \ 61*1ad61ae0Srobert avx512vlvbmi2intrin.h \ 62aa1fa3d4Spatrick avx512vlvnniintrin.h \ 63*1ad61ae0Srobert avx512vlvp2intersectintrin.h \ 64*1ad61ae0Srobert avx512vnniintrin.h \ 65*1ad61ae0Srobert avx512vp2intersectintrin.h \ 66*1ad61ae0Srobert avx512vpopcntdqintrin.h \ 67*1ad61ae0Srobert avx512vpopcntdqvlintrin.h \ 68*1ad61ae0Srobert avxifmaintrin.h \ 690545c0e3Spascal avxintrin.h \ 70*1ad61ae0Srobert avxneconvertintrin.h \ 71*1ad61ae0Srobert avxvnniint8intrin.h \ 725a38ef86Spatrick avxvnniintrin.h \ 730545c0e3Spascal bmi2intrin.h \ 740545c0e3Spascal bmiintrin.h \ 75c04ab3e3Spatrick cet.h \ 76*1ad61ae0Srobert cetintrin.h \ 774f0ddf55Spatrick cldemoteintrin.h \ 78466e1531Skettenis clflushoptintrin.h \ 79ed408325Spatrick clwbintrin.h \ 80*1ad61ae0Srobert clzerointrin.h \ 81*1ad61ae0Srobert cmpccxaddintrin.h \ 82*1ad61ae0Srobert cpuid.h \ 83*1ad61ae0Srobert crc32intrin.h \ 840545c0e3Spascal emmintrin.h \ 85aa1fa3d4Spatrick enqcmdintrin.h \ 860545c0e3Spascal f16cintrin.h \ 870545c0e3Spascal fma4intrin.h \ 880545c0e3Spascal fmaintrin.h \ 890545c0e3Spascal fxsrintrin.h \ 90fa686071Slandry gfniintrin.h \ 915a38ef86Spatrick hresetintrin.h \ 920545c0e3Spascal ia32intrin.h \ 930545c0e3Spascal immintrin.h \ 944f0ddf55Spatrick invpcidintrin.h \ 955a38ef86Spatrick keylockerintrin.h \ 96f7631674Spatrick lwpintrin.h \ 970545c0e3Spascal lzcntintrin.h \ 980545c0e3Spascal mm3dnow.h \ 99c04ab3e3Spatrick mm_malloc.h \ 100*1ad61ae0Srobert mmintrin.h \ 1014f0ddf55Spatrick movdirintrin.h \ 1024ad36cc8Skettenis mwaitxintrin.h \ 1030545c0e3Spascal nmmintrin.h \ 1044f0ddf55Spatrick pconfigintrin.h \ 105466e1531Skettenis pkuintrin.h \ 1060545c0e3Spascal pmmintrin.h \ 1070545c0e3Spascal popcntintrin.h \ 108*1ad61ae0Srobert prfchiintrin.h \ 1090545c0e3Spascal prfchwintrin.h \ 1104f0ddf55Spatrick ptwriteintrin.h \ 111*1ad61ae0Srobert raointintrin.h \ 112*1ad61ae0Srobert rdpruintrin.h \ 1130545c0e3Spascal rdseedintrin.h \ 1140545c0e3Spascal rtmintrin.h \ 115c04ab3e3Spatrick serializeintrin.h \ 1164f0ddf55Spatrick sgxintrin.h \ 1170545c0e3Spascal shaintrin.h \ 1180545c0e3Spascal smmintrin.h \ 1190545c0e3Spascal tbmintrin.h \ 1200545c0e3Spascal tmmintrin.h \ 121c04ab3e3Spatrick tsxldtrkintrin.h \ 1225a38ef86Spatrick uintrintrin.h \ 123fa686071Slandry vaesintrin.h \ 124fa686071Slandry vpclmulqdqintrin.h \ 1254f0ddf55Spatrick waitpkgintrin.h \ 1264f0ddf55Spatrick wbnoinvdintrin.h \ 1270545c0e3Spascal wmmintrin.h \ 1285a38ef86Spatrick x86gprintrin.h \ 1290545c0e3Spascal x86intrin.h \ 1300545c0e3Spascal xmmintrin.h \ 1310545c0e3Spascal xopintrin.h \ 132c04ab3e3Spatrick xsavecintrin.h \ 1330545c0e3Spascal xsaveintrin.h \ 1340545c0e3Spascal xsaveoptintrin.h \ 1350545c0e3Spascal xsavesintrin.h \ 1360545c0e3Spascal xtestintrin.h 13745ee77c4Skettenis.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" 1383540aa19SkettenisHEADERS+= altivec.h \ 1393540aa19Skettenis htmintrin.h \ 1403540aa19Skettenis htmxlintrin.h 1415a38ef86Spatrick.elif ${MACHINE_ARCH} == "riscv64" 1425a38ef86SpatrickGEN+= riscv_vector.h 1433540aa19Skettenis.endif 1440545c0e3Spascal 1450545c0e3Spascalall: ${HEADERS} 1460545c0e3Spascal 1472e672466Spascalclean cleandir: 148668710abSkettenis rm -f ${GEN} 1490545c0e3Spascal 1500545c0e3Spascalinstall includes: ${HEADERS} 151b8e06e2aSjsg.for dir in /usr/lib/clang /usr/lib/clang/${LLVM_V} ${CLANG_INTR_INCDIR} 152b8e06e2aSjsg ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \ 153b8e06e2aSjsg ${DESTDIR}${dir} 154b8e06e2aSjsg.endfor 15505c0f50bSjsg ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \ 15605c0f50bSjsg ${.ALLSRC} ${DESTDIR}${CLANG_INTR_INCDIR} 1570545c0e3Spascal 158668710abSkettenisarm_neon.h: ${CLANG_INC}/clang/Basic/arm_neon.td 1594f0ddf55Spatrick ${TBLGEN} -gen-arm-neon -I${CLANG_INC}/clang/Basic \ 1604f0ddf55Spatrick -o ${.TARGET} ${.ALLSRC} 1614f0ddf55Spatrick 1624f0ddf55Spatrickarm_fp16.h: ${CLANG_INC}/clang/Basic/arm_fp16.td 1634f0ddf55Spatrick ${TBLGEN} -gen-arm-fp16 -I${CLANG_INC}/clang/Basic \ 1644f0ddf55Spatrick -o ${.TARGET} ${.ALLSRC} 165668710abSkettenis 166c04ab3e3Spatrickarm_sve.h: ${CLANG_INC}/clang/Basic/arm_sve.td 167c04ab3e3Spatrick ${TBLGEN} -gen-arm-sve-header -I${CLANG_INC}/clang/Basic \ 168c04ab3e3Spatrick -o ${.TARGET} ${.ALLSRC} 169c04ab3e3Spatrick 170c04ab3e3Spatrickarm_bf16.h: ${CLANG_INC}/clang/Basic/arm_bf16.td 171c04ab3e3Spatrick ${TBLGEN} -gen-arm-bf16 -I${CLANG_INC}/clang/Basic \ 172c04ab3e3Spatrick -o ${.TARGET} ${.ALLSRC} 173c04ab3e3Spatrick 174aa1fa3d4Spatrickarm_mve.h: ${CLANG_INC}/clang/Basic/arm_mve.td 175aa1fa3d4Spatrick ${TBLGEN} -gen-arm-mve-header -I${CLANG_INC}/clang/Basic \ 176aa1fa3d4Spatrick -o ${.TARGET} ${.ALLSRC} 177aa1fa3d4Spatrick 178c04ab3e3Spatrickarm_cde.h: ${CLANG_INC}/clang/Basic/arm_cde.td 179c04ab3e3Spatrick ${TBLGEN} -gen-arm-cde-header -I${CLANG_INC}/clang/Basic \ 180c04ab3e3Spatrick -o ${.TARGET} ${.ALLSRC} 181c04ab3e3Spatrick 1825a38ef86Spatrickriscv_vector.h: ${CLANG_INC}/clang/Basic/riscv_vector.td 1835a38ef86Spatrick ${TBLGEN} -gen-riscv-vector-header -I${CLANG_INC}/clang/Basic \ 1845a38ef86Spatrick -o ${.TARGET} ${.ALLSRC} 1855a38ef86Spatrick 1860545c0e3Spascal.include <bsd.obj.mk> 187