# $NetBSD: Makefile,v 1.12 2024/04/04 23:54:17 christos Exp $
include <bsd.init.mk>
include <bsd.shlib.mk>
LIB= liblto_plugin
DIST= ${GCCDIST}
GNUHOSTDIST= ${DIST}
SRCS= lto-plugin.c hashtab.c simple-object.c pex-unix.c \
pex-common.c argv.c make-temp-file.c concat.c \
simple-object-elf.c simple-object-mach-o.c \
simple-object-coff.c simple-object-xcoff.c \
# libiberty
SRCS+= xstrerror.c xasprintf.c xvasprintf.c safe-ctype.c \
vprintf-support.c unlink-if-ordinary.c
CPPFLAGS+= -I${DIST}/include -I.
CPPFLAGS+= -DHAVE_CONFIG_H
CPPFLAGS+= -Dxstrdup=strdup -Dxexit=exit
CPPFLAGS+= -Dxcalloc=calloc -Dxmalloc=malloc -Dxrealloc=realloc
LIBISMODULE= yes
USE_SHLIBDIR= yes
REQUIRETOOLS= yes
NOLINT= # defined
# make this /usr/lib/gcc?
LIBDIR= /usr/libexec
if ${MKGCC} != "no"
SHLIB_MAJOR= 0
SHLIB_MINOR= 1
# Yuck, we have to run configure to generate this one...
CLEANFILES+= config.h
HOST_CFLAGS+= -I${.OBJDIR}
DPSRCS+= config.h
config.h: Makefile
${_MKTARGET_CREATE}
rm -rf .ab && \
mkdir .ab && \
(cd .ab && \
AWK=${TOOL_AWK:Q} \
CC=${HOST_CC:Q} CFLAGS=${HOST_CFLAGS:Q} \
CPPFLAGS=${HOST_CPPFLAGS:Q} \
MAKE=${MAKE:Q} \
CONFIG_SHELL=${HOST_SH:Q} \
${HOST_SH} ${DIST}/libiberty/configure \
--build=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
--host=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
--target=${MACHINE_GNU_PLATFORM} && \
mv ${.TARGET} ../${.TARGET}) && \
rm -rf .ab
include <bsd.lib.mk>
PATH: ${DIST}/lto-plugin ${DIST}/libiberty
COPTS.lto-plugin.c+= -Wno-missing-prototypes
else
include <bsd.prog.mk> # do nothing
endif