xref: /dflybsd-src/gnu/usr.bin/cc80/support-libs/liblto_plugin/Makefile (revision 70c1b095ab9be809d842db0a99d19b54c6cce9c7)
12233c95bSzrj# include helpers to decide if lto plugin needs to be installed and where
22233c95bSzrj.include "../../../Makefile.buo"
32233c95bSzrj.include "../../../Makefile.cco"
42233c95bSzrj
52233c95bSzrj# liblto_plugin.so needs to linked to a PIC version of libiberty
62233c95bSzrj# A special tailed version of libiberty has been created for this purpose
72233c95bSzrj
82233c95bSzrjGCC_NO_LIBS=	# defined
92233c95bSzrj.include "Makefile.headers"
102233c95bSzrj.include "../Makefile.inc"
112233c95bSzrj.PATH: ${GCCDIR}/lto-plugin
122233c95bSzrj.PATH: ${GCCDIR}/libiberty
132233c95bSzrj.PATH: ${GCCDIR}/include
142233c95bSzrj.PATH: ${GCCDIR}/gcc/ada/gcc-interface
152233c95bSzrj.PATH: ${GCCDIR}/gcc/cp
162233c95bSzrj.PATH: ${GCCDIR}/gcc/c
172233c95bSzrj.PATH: ${GCCDIR}/gcc/objc
182233c95bSzrj.PATH: ${GCCDIR}/libcpp/include
192233c95bSzrj
202233c95bSzrjLIB=		lto_plugin
212233c95bSzrjSHLIB_MAJOR=	0
222233c95bSzrjNOPROFILE=	yes
232233c95bSzrjNOINSTALLLIB=	yes
242233c95bSzrj# For gcc -print-prog-name=liblto_plugin.so to work
252233c95bSzrjLIBMODE=	555
262233c95bSzrj
272233c95bSzrj# GCC driver looks for LTO plugin library in libexec, not lib
28*70c1b095SzrjTARGET_LIBDIR=		/usr/libexec/gcc80
292233c95bSzrjTARGET_SHLIBDIR=	/usr/libexec/gcc80
302233c95bSzrj
312233c95bSzrj# Plugin support file locations
322233c95bSzrjPLUGIN_RESOURCE_DIR=	/usr/lib/gcc80/plugin
332233c95bSzrjPLUGIN_HEADER_DIR=	${PLUGIN_RESOURCE_DIR}/include
342233c95bSzrj
352233c95bSzrjSRCS=		lto-plugin.c
362233c95bSzrjLDADD=		../libiberty_pic/libiberty_pic.a
372233c95bSzrj
382233c95bSzrjFILESGROUPS+=	LVL1_ LVL2_ LVL2_1_ LVL2_2_ LVL2_3_ LVL2_4_ LVL3_ LVL3_ADA_
392233c95bSzrjLVL1_DIR=	${PLUGIN_RESOURCE_DIR}
402233c95bSzrjLVL2_DIR=	${PLUGIN_HEADER_DIR}
412233c95bSzrjLVL2_1_DIR=	${PLUGIN_HEADER_DIR}/c-family
422233c95bSzrjLVL2_2_DIR=	${PLUGIN_HEADER_DIR}/cp
432233c95bSzrjLVL2_3_DIR=	${PLUGIN_HEADER_DIR}/objc
442233c95bSzrjLVL2_4_DIR=	${PLUGIN_HEADER_DIR}/config
452233c95bSzrjLVL3_DIR=	${PLUGIN_HEADER_DIR}/config/i386
462233c95bSzrjLVL3_ADA_DIR=	${PLUGIN_HEADER_DIR}/ada/gcc-interface
472233c95bSzrj
482233c95bSzrjLVL1_=		${STOPDIR}/cc_prep/config/dragonfly-native.h \
492233c95bSzrj		${OTOPDIR}/cc_tools/tools/gtype.state
502233c95bSzrjLVL2_=		${PLUGIN_HEADERS} ${STOPDIR}/cc_prep/config.h
512233c95bSzrjLVL2_1_=	${PLUGIN_HEADERS_CFAMILY}
522233c95bSzrjLVL2_2_=	${PLUGIN_HEADERS_CP}
532233c95bSzrjLVL2_3_=	${PLUGIN_HEADERS_OBJC}
542233c95bSzrjLVL2_4_=	${PLUGIN_HEADERS_CONFIG}
552233c95bSzrjLVL3_=		${PLUGIN_HEADERS_CONFIG_I386}
562233c95bSzrjLVL3_ADA_=	${PLUGIN_HEADERS_ADA_GCC}
572233c95bSzrj
582233c95bSzrj# SYMLINK lto plugin to primary/backup binutils bfd-plugin dirs
592233c95bSzrj.if ${CC_PRIMARY} == "gcc80" # we are default gcc compiler
602233c95bSzrjLTOPLUGIN=	liblto_plugin.so
612233c95bSzrj.if exists(${DESTDIR}/usr/libexec/${BU_PRIMARY}/bfd-plugins)
622233c95bSzrjBFDPLUGINS=	/usr/libexec/${BU_PRIMARY}/bfd-plugins
632233c95bSzrjSYMLINKS+=	../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINS}/${LTOPLUGIN}
642233c95bSzrj.endif
652233c95bSzrj.if exists(${DESTDIR}/usr/libexec/${BU_BACKUP}/bfd-plugins)
662233c95bSzrjBFDPLUGINSB=	/usr/libexec/${BU_BACKUP}/bfd-plugins
672233c95bSzrjSYMLINKS+=	../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINSB}/${LTOPLUGIN}
682233c95bSzrj.endif
692233c95bSzrj.endif
702233c95bSzrj
712233c95bSzrj.include <bsd.lib.mk>
72