1#	$NetBSD: Makefile,v 1.12 2024/04/04 23:54:17 christos Exp $
2
3.include <bsd.init.mk>
4.include <bsd.shlib.mk>
5
6LIB=		liblto_plugin
7
8DIST=		${GCCDIST}
9GNUHOSTDIST=	${DIST}
10
11SRCS=		lto-plugin.c hashtab.c simple-object.c pex-unix.c \
12		pex-common.c argv.c make-temp-file.c concat.c \
13		simple-object-elf.c simple-object-mach-o.c \
14		simple-object-coff.c simple-object-xcoff.c \
15
16# libiberty
17SRCS+=		xstrerror.c xasprintf.c xvasprintf.c safe-ctype.c \
18		vprintf-support.c unlink-if-ordinary.c
19
20CPPFLAGS+=	-I${DIST}/include -I. 
21CPPFLAGS+=	-DHAVE_CONFIG_H
22CPPFLAGS+=	-Dxstrdup=strdup -Dxexit=exit
23CPPFLAGS+=	-Dxcalloc=calloc -Dxmalloc=malloc -Dxrealloc=realloc
24
25LIBISMODULE=	yes
26USE_SHLIBDIR=	yes
27REQUIRETOOLS=	yes
28NOLINT=		# defined
29
30# make this /usr/lib/gcc?
31LIBDIR=		/usr/libexec
32
33.if ${MKGCC} != "no"
34
35SHLIB_MAJOR=	0
36SHLIB_MINOR=	1
37
38# Yuck, we have to run configure to generate this one...
39CLEANFILES+=	config.h
40HOST_CFLAGS+= -I${.OBJDIR}
41DPSRCS+=	config.h
42config.h: Makefile
43	${_MKTARGET_CREATE}
44	rm -rf .ab && \
45	mkdir .ab && \
46	(cd .ab && \
47		AWK=${TOOL_AWK:Q} \
48		CC=${HOST_CC:Q} CFLAGS=${HOST_CFLAGS:Q} \
49		CPPFLAGS=${HOST_CPPFLAGS:Q} \
50		MAKE=${MAKE:Q} \
51		CONFIG_SHELL=${HOST_SH:Q} \
52		${HOST_SH} ${DIST}/libiberty/configure \
53			--build=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
54			--host=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \
55			--target=${MACHINE_GNU_PLATFORM} && \
56		mv ${.TARGET} ../${.TARGET}) && \
57	rm -rf .ab
58
59.include <bsd.lib.mk>
60
61.PATH:	${DIST}/lto-plugin ${DIST}/libiberty
62COPTS.lto-plugin.c+= -Wno-missing-prototypes
63
64.else
65.include <bsd.prog.mk> # do nothing
66.endif
67