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