1# $OpenBSD: Makefile.bsd-wrapper,v 1.86 2017/06/12 18:49:34 espie 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 ${INSTALL_STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}' \ 85 INSTALL_DATA='${INSTALL} -c -o ${DOCOWN} -g ${DOCGRP} -m ${NONBINMODE}' \ 86 INSTALL_INFO_HOST_MODULES='${INSTALL_INFO_HOST_MODULES}' \ 87 install install-info 88 89clean cleandir: 90 -@if [ -e Makefile ]; then ${MAKE} distclean; fi 91 92c++filt.1: binutils/cxxfilt.man 93 sed -e 's,@PROGRAM@,c++filt,' <${.CURDIR}/binutils/cxxfilt.man >$@ 94 95depend: 96 # Nothing here so far... 97 98tags: 99 # Nothing here so far... 100 101BEFOREMAN=config.status 102 103.PHONY: config 104 105.include <bsd.obj.mk> 106.include <bsd.subdir.mk> 107 108.ifdef NOMAN 109maninstall: 110 @echo NOMAN is set 111.else 112.include <bsd.man.mk> 113.endif 114