xref: /dragonfly/gnu/usr.bin/cc80/support-libs/liblto_plugin/Makefile (revision 70c1b095ab9be809d842db0a99d19b54c6cce9c7)
1# include helpers to decide if lto plugin needs to be installed and where
2.include "../../../Makefile.buo"
3.include "../../../Makefile.cco"
4
5# liblto_plugin.so needs to linked to a PIC version of libiberty
6# A special tailed version of libiberty has been created for this purpose
7
8GCC_NO_LIBS=        # defined
9.include "Makefile.headers"
10.include "../Makefile.inc"
11.PATH: ${GCCDIR}/lto-plugin
12.PATH: ${GCCDIR}/libiberty
13.PATH: ${GCCDIR}/include
14.PATH: ${GCCDIR}/gcc/ada/gcc-interface
15.PATH: ${GCCDIR}/gcc/cp
16.PATH: ${GCCDIR}/gcc/c
17.PATH: ${GCCDIR}/gcc/objc
18.PATH: ${GCCDIR}/libcpp/include
19
20LIB=                lto_plugin
21SHLIB_MAJOR=        0
22NOPROFILE=          yes
23NOINSTALLLIB=       yes
24# For gcc -print-prog-name=liblto_plugin.so to work
25LIBMODE=  555
26
27# GCC driver looks for LTO plugin library in libexec, not lib
28TARGET_LIBDIR=                /usr/libexec/gcc80
29TARGET_SHLIBDIR=    /usr/libexec/gcc80
30
31# Plugin support file locations
32PLUGIN_RESOURCE_DIR=          /usr/lib/gcc80/plugin
33PLUGIN_HEADER_DIR=  ${PLUGIN_RESOURCE_DIR}/include
34
35SRCS=               lto-plugin.c
36LDADD=              ../libiberty_pic/libiberty_pic.a
37
38FILESGROUPS+=       LVL1_ LVL2_ LVL2_1_ LVL2_2_ LVL2_3_ LVL2_4_ LVL3_ LVL3_ADA_
39LVL1_DIR= ${PLUGIN_RESOURCE_DIR}
40LVL2_DIR= ${PLUGIN_HEADER_DIR}
41LVL2_1_DIR=         ${PLUGIN_HEADER_DIR}/c-family
42LVL2_2_DIR=         ${PLUGIN_HEADER_DIR}/cp
43LVL2_3_DIR=         ${PLUGIN_HEADER_DIR}/objc
44LVL2_4_DIR=         ${PLUGIN_HEADER_DIR}/config
45LVL3_DIR= ${PLUGIN_HEADER_DIR}/config/i386
46LVL3_ADA_DIR=       ${PLUGIN_HEADER_DIR}/ada/gcc-interface
47
48LVL1_=              ${STOPDIR}/cc_prep/config/dragonfly-native.h \
49                    ${OTOPDIR}/cc_tools/tools/gtype.state
50LVL2_=              ${PLUGIN_HEADERS} ${STOPDIR}/cc_prep/config.h
51LVL2_1_=  ${PLUGIN_HEADERS_CFAMILY}
52LVL2_2_=  ${PLUGIN_HEADERS_CP}
53LVL2_3_=  ${PLUGIN_HEADERS_OBJC}
54LVL2_4_=  ${PLUGIN_HEADERS_CONFIG}
55LVL3_=              ${PLUGIN_HEADERS_CONFIG_I386}
56LVL3_ADA_=          ${PLUGIN_HEADERS_ADA_GCC}
57
58# SYMLINK lto plugin to primary/backup binutils bfd-plugin dirs
59.if ${CC_PRIMARY} == "gcc80" # we are default gcc compiler
60LTOPLUGIN=          liblto_plugin.so
61.if exists(${DESTDIR}/usr/libexec/${BU_PRIMARY}/bfd-plugins)
62BFDPLUGINS=         /usr/libexec/${BU_PRIMARY}/bfd-plugins
63SYMLINKS+=          ../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINS}/${LTOPLUGIN}
64.endif
65.if exists(${DESTDIR}/usr/libexec/${BU_BACKUP}/bfd-plugins)
66BFDPLUGINSB=        /usr/libexec/${BU_BACKUP}/bfd-plugins
67SYMLINKS+=          ../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINSB}/${LTOPLUGIN}
68.endif
69.endif
70
71.include <bsd.lib.mk>
72