1# $OpenBSD: Makefile,v 1.8 2023/11/12 14:25:40 robert Exp $
2
3.include <bsd.own.mk>
4
5.include "../../../Makefile.arch"
6.include "../../../Makefile.inc"
7
8DEFS=	AsmParsers.def AsmPrinters.def Disassemblers.def Targets.def \
9	TargetMCAs.def llvm-config.h
10
11HDRS=	abi-breaking.h
12INCDIR=	/usr/include/llvm/Config
13
14all: ${DEFS} ${HDRS}
15
16clean cleandir:
17	rm -f ${DEFS}
18
19AsmParsers.def:
20	printf "LLVM_ASM_PARSER(AMDGPU)\n" >$@
21	printf "LLVM_ASM_PARSER(${LLVM_ARCH})\n#undef LLVM_ASM_PARSER\n" >>$@
22AsmPrinters.def:
23	printf "LLVM_ASM_PRINTER(AMDGPU)\n" >$@
24	printf "LLVM_ASM_PRINTER(${LLVM_ARCH})\n#undef LLVM_ASM_PRINTER\n" >>$@
25Disassemblers.def:
26	printf "LLVM_DISASSEMBLER(AMDGPU)\n" >$@
27	printf "LLVM_DISASSEMBLER(${LLVM_ARCH})\n#undef LLVM_DISASSEMBLER\n" >>$@
28Targets.def:
29	printf "LLVM_TARGET(AMDGPU)\n" >$@
30	printf "LLVM_TARGET(${LLVM_ARCH})\n#undef LLVM_TARGET\n" >>$@
31TargetMCAs.def:
32	printf "LLVM_TARGETMCA(AMDGPU)\n" >$@
33	printf "LLVM_TARGETMCA(RISCV)\n" >>$@
34	printf "LLVM_TARGETMCA(X86)\n#undef LLVM_TARGETMCA\n" >>$@
35
36llvm-config.h: llvm-config.h.in
37	cp ${.CURDIR}/llvm-config.h.in $@
38	printf "\n#define LLVM_DEFAULT_TARGET_TRIPLE \"${TRIPLE}\"\n" >> $@
39	printf "#define LLVM_HOST_TRIPLE \"${TRIPLE}\"\n" >> $@
40	printf "#define LLVM_NATIVE_ARCH ${LLVM_ARCH}\n" >> $@
41	printf "#define LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_ARCH}AsmParser\n" >> $@
42	printf "#define LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_ARCH}AsmPrinter\n" >> $@
43	printf "#define LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_ARCH}Disassembler\n" >> $@
44	printf "#define LLVM_NATIVE_TARGET LLVMInitialize${LLVM_ARCH}Target\n" >> $@
45	printf "#define LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_ARCH}TargetInfo\n" >> $@
46	printf "#define LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_ARCH}TargetMC\n" >> $@
47	printf "\n#endif\n" >> $@
48
49install includes: ${DEFS}
50	${INSTALL} -d -m 755 ${DESTDIR}${INCDIR}
51	@cd ${.CURDIR}; for i in $(HDRS); do \
52	    j="cmp -s $$i ${DESTDIR}${INCDIR}/$$i || \
53		${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} \
54		-m 444 $$i ${DESTDIR}${INCDIR}"; \
55	    echo $$j; \
56	    eval "$$j"; \
57	done
58	@cd ${.OBJDIR}; for i in $(DEFS); do \
59	    j="cmp -s $$i ${DESTDIR}${INCDIR}/$$i || \
60		${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} \
61		-m 444 $$i ${DESTDIR}${INCDIR}"; \
62	    echo $$j; \
63	    eval "$$j"; \
64	done
65
66.include <bsd.obj.mk>
67