1#	$OpenBSD: Makefile.bsd-wrapper,v 1.83 2015/06/01 17:36:19 miod Exp $
2
3.include <bsd.own.mk>
4
5CFLAGS+=	${PIE_DEFAULT}
6# This allows moving the whole binutils installation around for
7# testing purposes
8PREFIX=/usr
9.if ${PREFIX} != "/usr"
10MANDIR=${PREFIX}/share/man/man
11.endif
12
13SUBDIRS=	opcodes bfd gdb
14CONF_SUBDIRS=	${SUBDIRS}
15INST_SUBDIRS=	gdb
16MAN=		gdb/gdb.1
17
18# Used by the GNU Makefile
19ALL_MODULES=${SUBDIRS:S/^/all-/g}
20CONFIGURE_MODULES=${CONF_SUBDIRS:S/^/configure-/g}
21CONFIGURE_HOST_MODULES=${CONF_SUBDIRS:S/^/configure-/g}
22ALL_HOST_MODULES=${SUBDIRS:S/^/all-/g}
23INSTALL_MODULES=${INST_SUBDIRS:S/^/install-/g}
24INFO_HOST_MODULES=${SUBDIRS:S/^/info-/g}
25INSTALL_INFO_HOST_MODULES=${INST_SUBDIRS:S/^/install-info-/g}
26
27# cross-compilation
28.if defined(TARGET_ARCH)
29CONFIGTARGET=--target=${TARGET_ARCH}-unknown-openbsd${OSREV}
30.else
31CONFIGTARGET=
32.endif
33
34all:	config.status
35	SUBDIRS='${SUBDIRS}' \
36	  CONFIGURE_HOST_MODULES='${CONFIGURE_HOST_MODULES}' \
37	  ${MAKE} CC="${CC}" \
38	    CFLAGS="${CFLAGS} ${COPTS}" LDFLAGS=${LDSTATIC} \
39	    scriptdir=${PREFIX}/libdata \
40	    tooldir=${PREFIX} \
41	    MAKEINFO='makeinfo --no-split' \
42	    MAKEINFOFLAGS='' \
43	    BSDSRCDIR=${BSDSRCDIR} \
44	    ALL_MODULES="${ALL_MODULES}" \
45	    ALL_HOST_MODULES='${ALL_HOST_MODULES}' \
46	    INFO_HOST_MODULES='${INFO_HOST_MODULES}' all info
47
48.include <bsd.own.mk>
49
50.ifdef GLOBAL_AUTOCONF_CACHE
51CF=	--cache-file=${GLOBAL_AUTOCONF_CACHE}
52.else
53CF=
54.endif
55
56do-config: .USE
57	PATH="/bin:/usr/bin:/sbin:/usr/sbin" \
58	MAKEINFO='makeinfo --no-split' \
59	sh ${.CURDIR}/configure --prefix=${PREFIX} \
60	    --infodir='$${prefix}/share/info' \
61	    --disable-nls --disable-gdbtk --disable-install-libbfd ${CF} \
62	    ${CONFIGTARGET}
63	cd ${.OBJDIR} && \
64	    sed -e 's,SUBDIRS *=,SUBDIRS ?=,' <Makefile >Makefile.tmp && \
65	    mv -f Makefile.tmp Makefile
66	cd ${.OBJDIR} && \
67	    ${MAKE} ${CONFIGURE_MODULES}
68
69config: do-config
70.ifndef GLOBAL_AUTOCONF_CACHE
71	-rm -f config.cache
72.endif
73
74config.status: do-config
75
76# Need to pass SUBDIRS because of install-info
77install: maninstall
78	SUBDIRS='${INST_SUBDIRS}' ${MAKE} DESTDIR='${DESTDIR}' \
79	    INSTALL_MAN= \
80	    scriptdir=${PREFIX}/libdata \
81	    tooldir=${PREFIX} \
82	    BSDSRCDIR=${BSDSRCDIR} \
83	    INSTALL_MODULES='${INSTALL_MODULES}' \
84	    INSTALL_PROGRAM='install -c -S' \
85	    INSTALL_INFO_HOST_MODULES='${INSTALL_INFO_HOST_MODULES}' \
86	      install install-info
87
88clean cleandir:
89	-@if [ -e Makefile ]; then ${MAKE} distclean; fi
90
91c++filt.1: binutils/cxxfilt.man
92	sed -e 's,@PROGRAM@,c++filt,' <${.CURDIR}/binutils/cxxfilt.man >$@
93
94depend:
95	# Nothing here so far...
96
97lint:
98	# Nothing here so far...
99
100tags:
101	# Nothing here so far...
102
103BEFOREMAN=config.status
104
105.PHONY: config
106
107.include <bsd.obj.mk>
108.include <bsd.subdir.mk>
109
110.ifdef NOMAN
111maninstall:
112	@echo NOMAN is set
113.else
114.include <bsd.man.mk>
115.endif
116