xref: /openbsd-src/gnu/usr.bin/binutils/Makefile.bsd-wrapper (revision 4dce7c7aafdce7a2060aea138b9d26389ee7f96e)
1*4dce7c7aSjca#	$OpenBSD: Makefile.bsd-wrapper,v 1.90 2023/09/06 12:15:30 jca Exp $
2063f9268Sespie
37181cab6Smiod.include <bsd.own.mk>
4c9d6edb8Sdrahn
5*4dce7c7aSjcaCFLAGS+=	-std=gnu89
69622a78fSpascalCFLAGS+=	${PIE_DEFAULT}
7bc4695b6SnaddyXCFLAGS=	CC="${CC}" CFLAGS="${CFLAGS} ${COPTS}" LDFLAGS="${LDSTATIC}"
8e1523ec0Sespie# This allows moving the whole binutils installation around for
9e1523ec0Sespie# testing purposes
10e1523ec0SespiePREFIX=/usr
11e1523ec0Sespie.if ${PREFIX} != "/usr"
124ddec8cdSschwarzeMANDIR=${PREFIX}/share/man/man
13e1523ec0Sespie.endif
14e1523ec0Sespie
1546f5b06eSmiodSUBDIRS=	opcodes bfd gdb
1646f5b06eSmiodCONF_SUBDIRS=	${SUBDIRS}
1746f5b06eSmiodINST_SUBDIRS=	gdb
1846f5b06eSmiodMAN=		gdb/gdb.1
1946f5b06eSmiod
20fb44b7a1Smillert# Used by the GNU Makefile
21fb44b7a1SmillertALL_MODULES=${SUBDIRS:S/^/all-/g}
22c9d6edb8SdrahnCONFIGURE_MODULES=${CONF_SUBDIRS:S/^/configure-/g}
23c9d6edb8SdrahnCONFIGURE_HOST_MODULES=${CONF_SUBDIRS:S/^/configure-/g}
24c074d1c9SdrahnALL_HOST_MODULES=${SUBDIRS:S/^/all-/g}
25c9d6edb8SdrahnINSTALL_MODULES=${INST_SUBDIRS:S/^/install-/g}
26007c2a45SmiodINFO_HOST_MODULES=${SUBDIRS:S/^/info-/g}
27007c2a45SmiodINSTALL_INFO_HOST_MODULES=${INST_SUBDIRS:S/^/install-info-/g}
285088dc13Sgrange
2935dab0c3Sdrahn# cross-compilation
3035dab0c3Sdrahn.if defined(TARGET_ARCH)
3135dab0c3SdrahnCONFIGTARGET=--target=${TARGET_ARCH}-unknown-openbsd${OSREV}
3235dab0c3Sdrahn.else
3335dab0c3SdrahnCONFIGTARGET=
3435dab0c3Sdrahn.endif
3535dab0c3Sdrahn
364c5479e5Sniklasall:	config.status
37c074d1c9Sdrahn	SUBDIRS='${SUBDIRS}' \
38c074d1c9Sdrahn	  CONFIGURE_HOST_MODULES='${CONFIGURE_HOST_MODULES}' \
39bc4695b6Snaddy	  ${MAKE} ${XCFLAGS} \
4093f8ac3cSderaadt	    scriptdir=${PREFIX}/libdata \
4193f8ac3cSderaadt	    tooldir=${PREFIX} \
422e0e222dSespie	    MAKEINFO='makeinfo --no-split' \
432e0e222dSespie	    MAKEINFOFLAGS='' \
44666ecacaSespie	    BSDSRCDIR=${BSDSRCDIR} \
45063f9268Sespie	    ALL_MODULES="${ALL_MODULES}" \
46c074d1c9Sdrahn	    ALL_HOST_MODULES='${ALL_HOST_MODULES}' \
47007c2a45Smiod	    INFO_HOST_MODULES='${INFO_HOST_MODULES}' all info
484c5479e5Sniklas
49f529dfbeSkstailey.include <bsd.own.mk>
50f529dfbeSkstailey
51f529dfbeSkstailey.ifdef GLOBAL_AUTOCONF_CACHE
52f529dfbeSkstaileyCF=	--cache-file=${GLOBAL_AUTOCONF_CACHE}
53f529dfbeSkstailey.else
54f529dfbeSkstaileyCF=
55f529dfbeSkstailey.endif
56f529dfbeSkstailey
57275cc5cbSespiedo-config: .USE
58275cc5cbSespie	PATH="/bin:/usr/bin:/sbin:/usr/sbin" \
592e0e222dSespie	MAKEINFO='makeinfo --no-split' \
60bc4695b6Snaddy	${XCFLAGS} \
61063f9268Sespie	sh ${.CURDIR}/configure --prefix=${PREFIX} \
62275cc5cbSespie	    --infodir='$${prefix}/share/info' \
639ba94f0aSkettenis	    --disable-nls --disable-gdbtk --disable-install-libbfd ${CF} \
6435dab0c3Sdrahn	    ${CONFIGTARGET}
65275cc5cbSespie	cd ${.OBJDIR} && \
66275cc5cbSespie	    sed -e 's,SUBDIRS *=,SUBDIRS ?=,' <Makefile >Makefile.tmp && \
67275cc5cbSespie	    mv -f Makefile.tmp Makefile
68c074d1c9Sdrahn	cd ${.OBJDIR} && \
69bc4695b6Snaddy	    ${XCFLAGS} \
70c074d1c9Sdrahn	    ${MAKE} ${CONFIGURE_MODULES}
714ddec8cdSschwarze
72275cc5cbSespieconfig: do-config
73f529dfbeSkstailey.ifndef GLOBAL_AUTOCONF_CACHE
7451a41552Sniklas	-rm -f config.cache
75f529dfbeSkstailey.endif
764c5479e5Sniklas
77275cc5cbSespieconfig.status: do-config
78275cc5cbSespie
79063f9268Sespie# Need to pass SUBDIRS because of install-info
804c5479e5Sniklasinstall: maninstall
81c9d6edb8Sdrahn	SUBDIRS='${INST_SUBDIRS}' ${MAKE} DESTDIR='${DESTDIR}' \
82e1523ec0Sespie	    INSTALL_MAN= \
8393f8ac3cSderaadt	    scriptdir=${PREFIX}/libdata \
8493f8ac3cSderaadt	    tooldir=${PREFIX} \
85666ecacaSespie	    BSDSRCDIR=${BSDSRCDIR} \
86007c2a45Smiod	    INSTALL_MODULES='${INSTALL_MODULES}' \
87d125f366Skn	    INSTALL_PROGRAM='${INSTALL} -c ${INSTALL_STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}' \
884e86a40aSnatano	    INSTALL_DATA='${INSTALL} -c -o ${DOCOWN} -g ${DOCGRP} -m ${NONBINMODE}' \
89007c2a45Smiod	    INSTALL_INFO_HOST_MODULES='${INSTALL_INFO_HOST_MODULES}' \
90007c2a45Smiod	      install install-info
914c5479e5Sniklas
924c5479e5Sniklasclean cleandir:
9313d27923Sderaadt	-@if [ -e Makefile ]; then ${MAKE} distclean; fi
944c5479e5Sniklas
953e77cad2Sespiec++filt.1: binutils/cxxfilt.man
963e77cad2Sespie	sed -e 's,@PROGRAM@,c++filt,' <${.CURDIR}/binutils/cxxfilt.man >$@
973e77cad2Sespie
984c5479e5Sniklastags:
994c5479e5Sniklas	# Nothing here so far...
1004c5479e5Sniklas
10131ff0b2cSespieBEFOREMAN=config.status
10231ff0b2cSespie
103063f9268Sespie.PHONY: config
104063f9268Sespie
1054c5479e5Sniklas.include <bsd.obj.mk>
1064c5479e5Sniklas.include <bsd.subdir.mk>
107063f9268Sespie
108063f9268Sespie.ifdef NOMAN
109063f9268Sespiemaninstall:
110063f9268Sespie	@echo NOMAN is set
111063f9268Sespie.else
1124c5479e5Sniklas.include <bsd.man.mk>
113408dd954Skstailey.endif
114