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