1*4f0ddf55Spatrick# $OpenBSD: Makefile,v 1.18 2019/01/27 16:59:41 patrick Exp $
20545c0e3Spascal
30545c0e3Spascal.include <bsd.own.mk>
40545c0e3Spascal
5*4f0ddf55SpatrickLLVM_V=			7.0.1
60545c0e3SpascalCLANG_INTR_INCDIR=	/usr/lib/clang/${LLVM_V}/include
70545c0e3Spascal
8668710abSkettenisTBLGEN= ${.OBJDIR}/../../../clang-tblgen/clang-tblgen
9668710abSkettenisCLANG_INC=${.CURDIR}/../../../../../llvm/tools/clang/include
10668710abSkettenis
110545c0e3Spascal.PATH:	${.CURDIR}/../../../../../llvm/tools/clang/lib/Headers
120545c0e3Spascal
13668710abSkettenisGEN=
143540aa19SkettenisHEADERS=	stdalign.h \
153540aa19Skettenis		stdatomic.h \
163540aa19Skettenis		stdnoreturn.h \
173540aa19Skettenis		tgmath.h \
183540aa19Skettenis		unwind.h \
193540aa19Skettenis		varargs.h \
203540aa19Skettenis		module.modulemap \
213540aa19Skettenis
223540aa19Skettenis.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "arm"
23668710abSkettenisGEN+=		arm_neon.h
24*4f0ddf55SpatrickGEN+=		arm_fp16.h
25668710abSkettenisHEADERS+=	arm_acle.h ${GEN}
263540aa19Skettenis.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
273540aa19SkettenisHEADERS+=	adxintrin.h \
280545c0e3Spascal		ammintrin.h \
290545c0e3Spascal		avx2intrin.h \
30fa686071Slandry		avx512bitalgintrin.h \
310545c0e3Spascal		avx512bwintrin.h \
320545c0e3Spascal		avx512cdintrin.h \
334ad36cc8Skettenis		avx512dqintrin.h \
340545c0e3Spascal		avx512erintrin.h \
350545c0e3Spascal		avx512fintrin.h \
364ad36cc8Skettenis		avx512ifmaintrin.h \
374ad36cc8Skettenis		avx512ifmavlintrin.h \
384ad36cc8Skettenis		avx512pfintrin.h \
39fa686071Slandry		avx512vbmi2intrin.h \
404ad36cc8Skettenis		avx512vbmiintrin.h \
414ad36cc8Skettenis		avx512vbmivlintrin.h \
42fa686071Slandry		avx512vlbitalgintrin.h \
430545c0e3Spascal		avx512vlbwintrin.h \
444ad36cc8Skettenis		avx512vlcdintrin.h \
450545c0e3Spascal		avx512vldqintrin.h \
464ad36cc8Skettenis		avx512vlintrin.h \
47fa686071Slandry		avx512vlvbmi2intrin.h \
48fa686071Slandry		avx512vlvnniintrin.h \
49fa686071Slandry		avx512vnniintrin.h \
50f7631674Spatrick		avx512vpopcntdqintrin.h \
51fa686071Slandry		avx512vpopcntdqvlintrin.h \
520545c0e3Spascal		avxintrin.h \
530545c0e3Spascal		bmi2intrin.h \
540545c0e3Spascal		bmiintrin.h \
55fa686071Slandry		cetintrin.h \
560545c0e3Spascal		cpuid.h \
57*4f0ddf55Spatrick		cldemoteintrin.h \
58466e1531Skettenis		clflushoptintrin.h \
59ed408325Spatrick		clwbintrin.h \
60f7631674Spatrick		clzerointrin.h \
610545c0e3Spascal		emmintrin.h \
620545c0e3Spascal		f16cintrin.h \
630545c0e3Spascal		fma4intrin.h \
640545c0e3Spascal		fmaintrin.h \
650545c0e3Spascal		fxsrintrin.h \
66fa686071Slandry		gfniintrin.h \
670545c0e3Spascal		ia32intrin.h \
680545c0e3Spascal		immintrin.h \
69*4f0ddf55Spatrick		invpcidintrin.h \
70f7631674Spatrick		lwpintrin.h \
710545c0e3Spascal		lzcntintrin.h \
720545c0e3Spascal		mm3dnow.h \
730545c0e3Spascal		mm_malloc.h \
74*4f0ddf55Spatrick		mmintrin.h \
75*4f0ddf55Spatrick		movdirintrin.h \
764ad36cc8Skettenis		mwaitxintrin.h \
770545c0e3Spascal		nmmintrin.h \
78*4f0ddf55Spatrick		pconfigintrin.h \
79466e1531Skettenis		pkuintrin.h \
800545c0e3Spascal		pmmintrin.h \
810545c0e3Spascal		popcntintrin.h \
820545c0e3Spascal		prfchwintrin.h \
83*4f0ddf55Spatrick		ptwriteintrin.h \
840545c0e3Spascal		rdseedintrin.h \
850545c0e3Spascal		rtmintrin.h \
86*4f0ddf55Spatrick		sgxintrin.h \
870545c0e3Spascal		shaintrin.h \
880545c0e3Spascal		smmintrin.h \
890545c0e3Spascal		tbmintrin.h \
900545c0e3Spascal		tmmintrin.h \
91fa686071Slandry		vaesintrin.h \
92fa686071Slandry		vpclmulqdqintrin.h \
93*4f0ddf55Spatrick		waitpkgintrin.h \
94*4f0ddf55Spatrick		wbnoinvdintrin.h \
950545c0e3Spascal		wmmintrin.h \
964ad36cc8Skettenis		__wmmintrin_aes.h \
970545c0e3Spascal		__wmmintrin_pclmul.h \
980545c0e3Spascal		x86intrin.h \
990545c0e3Spascal		xmmintrin.h \
1000545c0e3Spascal		xopintrin.h \
1010545c0e3Spascal		xsaveintrin.h \
1020545c0e3Spascal		xsaveoptintrin.h \
1030545c0e3Spascal		xsavecintrin.h \
1040545c0e3Spascal		xsavesintrin.h \
1050545c0e3Spascal		xtestintrin.h
1063540aa19Skettenis.elif ${MACHINE_ARCH} == "powerpc"
1073540aa19SkettenisHEADERS+=	altivec.h \
1083540aa19Skettenis		htmintrin.h \
1093540aa19Skettenis		htmxlintrin.h
1103540aa19Skettenis.endif
1110545c0e3Spascal
1120545c0e3Spascalall:	${HEADERS}
1130545c0e3Spascal
1142e672466Spascalclean cleandir:
115668710abSkettenis	rm -f ${GEN}
1160545c0e3Spascal
1170545c0e3Spascalinstall includes: ${HEADERS}
118b8e06e2aSjsg.for dir in /usr/lib/clang /usr/lib/clang/${LLVM_V} ${CLANG_INTR_INCDIR}
119b8e06e2aSjsg	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${DIRMODE} \
120b8e06e2aSjsg	    ${DESTDIR}${dir}
121b8e06e2aSjsg.endfor
12205c0f50bSjsg	${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \
12305c0f50bSjsg	    ${.ALLSRC} ${DESTDIR}${CLANG_INTR_INCDIR}
1240545c0e3Spascal
125668710abSkettenisarm_neon.h: ${CLANG_INC}/clang/Basic/arm_neon.td
126*4f0ddf55Spatrick	${TBLGEN} -gen-arm-neon -I${CLANG_INC}/clang/Basic \
127*4f0ddf55Spatrick	    -o ${.TARGET} ${.ALLSRC}
128*4f0ddf55Spatrick
129*4f0ddf55Spatrickarm_fp16.h: ${CLANG_INC}/clang/Basic/arm_fp16.td
130*4f0ddf55Spatrick	${TBLGEN} -gen-arm-fp16 -I${CLANG_INC}/clang/Basic \
131*4f0ddf55Spatrick	    -o ${.TARGET} ${.ALLSRC}
132668710abSkettenis
1330545c0e3Spascal.include <bsd.obj.mk>
134