# $OpenBSD: Makefile.bsd-wrapper,v 1.82 2013/07/05 21:29:51 miod Exp $ .include CFLAGS+= ${PIE_DEFAULT} # This allows moving the whole binutils installation around for # testing purposes PREFIX=/usr .if ${PREFIX} != "/usr" MANDIR=${PREFIX}/share/man/man .endif .if ${BINUTILS_VERSION} == "binutils-2.17" SUBDIRS= opcodes bfd gdb CONF_SUBDIRS= ${SUBDIRS} INST_SUBDIRS= gdb MAN= gdb/gdb.1 .else SUBDIRS= opcodes bfd CONF_SUBDIRS= opcodes bfd MAN= binutils/doc/addr2line.1 binutils/doc/objcopy.1 \ binutils/doc/objdump.1 binutils/doc/readelf.1 \ c++filt.1 .if !defined(TARGET_ARCH) && !defined(BOOTSTRAP) CONF_SUBDIRS+= gdb SUBDIRS+= gdb INST_SUBDIRS+= gdb MAN+= gdb/gdb.1 .endif SUBDIRS+= binutils ld gas CONF_SUBDIRS+= binutils ld gas INST_SUBDIRS+= binutils ld gas MAN+= binutils/doc/ar.1 binutils/doc/ranlib.1 \ binutils/doc/strings.1 binutils/doc/strip.1 \ gas/doc/as.1 ld/ld.1 .endif # Used by the GNU Makefile ALL_MODULES=${SUBDIRS:S/^/all-/g} CONFIGURE_MODULES=${CONF_SUBDIRS:S/^/configure-/g} CONFIGURE_HOST_MODULES=${CONF_SUBDIRS:S/^/configure-/g} ALL_HOST_MODULES=${SUBDIRS:S/^/all-/g} INSTALL_MODULES=${INST_SUBDIRS:S/^/install-/g} INFO_HOST_MODULES=${SUBDIRS:S/^/info-/g} INSTALL_INFO_HOST_MODULES=${INST_SUBDIRS:S/^/install-info-/g} # cross-compilation .if defined(TARGET_ARCH) CONFIGTARGET=--target=${TARGET_ARCH}-unknown-openbsd${OSREV} .else CONFIGTARGET= .endif all: config.status SUBDIRS='${SUBDIRS}' \ CONFIGURE_HOST_MODULES='${CONFIGURE_HOST_MODULES}' \ ${MAKE} CC="${CC}" \ CFLAGS="${CFLAGS} ${COPTS}" LDFLAGS=${LDSTATIC} \ scriptdir=${PREFIX}/libdata \ tooldir=${PREFIX} \ MAKEINFO='makeinfo --no-split' \ MAKEINFOFLAGS='' \ BSDSRCDIR=${BSDSRCDIR} \ ALL_MODULES="${ALL_MODULES}" \ ALL_HOST_MODULES='${ALL_HOST_MODULES}' \ INFO_HOST_MODULES='${INFO_HOST_MODULES}' all info .include .ifdef GLOBAL_AUTOCONF_CACHE CF= --cache-file=${GLOBAL_AUTOCONF_CACHE} .else CF= .endif do-config: .USE PATH="/bin:/usr/bin:/sbin:/usr/sbin" \ MAKEINFO='makeinfo --no-split' \ sh ${.CURDIR}/configure --prefix=${PREFIX} \ --infodir='$${prefix}/share/info' \ --disable-nls --disable-gdbtk --disable-install-libbfd ${CF} \ ${CONFIGTARGET} cd ${.OBJDIR} && \ sed -e 's,SUBDIRS *=,SUBDIRS ?=,' Makefile.tmp && \ mv -f Makefile.tmp Makefile cd ${.OBJDIR} && \ ${MAKE} ${CONFIGURE_MODULES} gas/doc/as.1: config.status cd ${.OBJDIR}/gas/doc && ${MAKE} as.1 ld/ld.1: config.status cd ${.OBJDIR}/ld && ${MAKE} ld.1 config: do-config .ifndef GLOBAL_AUTOCONF_CACHE -rm -f config.cache .endif config.status: do-config # Need to pass SUBDIRS because of install-info install: maninstall SUBDIRS='${INST_SUBDIRS}' ${MAKE} DESTDIR='${DESTDIR}' \ INSTALL_MAN= \ scriptdir=${PREFIX}/libdata \ tooldir=${PREFIX} \ BSDSRCDIR=${BSDSRCDIR} \ INSTALL_MODULES='${INSTALL_MODULES}' \ INSTALL_PROGRAM='install -c -S' \ INSTALL_INFO_HOST_MODULES='${INSTALL_INFO_HOST_MODULES}' \ install install-info clean cleandir: -@if [ -e Makefile ]; then ${MAKE} distclean; fi c++filt.1: binutils/cxxfilt.man sed -e 's,@PROGRAM@,c++filt,' <${.CURDIR}/binutils/cxxfilt.man >$@ depend: # Nothing here so far... lint: # Nothing here so far... tags: # Nothing here so far... BEFOREMAN=config.status .PHONY: config .include .include .ifdef NOMAN maninstall: @echo NOMAN is set .else .include .endif