NetBSD/tools/gdb/Makefile
christos bf7113376a Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
2018-05-01 19:59:42 +00:00

116 lines
3.6 KiB
Makefile

# $NetBSD: Makefile,v 1.36 2018/05/01 19:59:46 christos Exp $
.include <bsd.hostinit.mk>
MODULE= gdb
GDBDIR= ${.CURDIR}/../../external/gpl3/${EXTERNAL_GDB_SUBDIR}
GNUHOSTDIST= ${GDBDIR}/dist
FIND_ARGS= \! \( -type d -name sim -prune \)
CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} --disable-nls \
--program-transform-name="s,^,${MACHINE_GNU_PLATFORM}-,"
MAKE_ARGS= MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q}
ALL_TARGET= all-gdb
INSTALL_TARGET= install-gdb
.include "${GDBDIR}/Makefile.gdb_arch"
#GDB_MACHINE_ARCH= ${MACHINE_ARCH:C/e?armv[4-7]h?f?/arm/}
.include "${.CURDIR}/../Makefile.gmakehost"
BUILD_MAKE=${TOOL_GMAKE}
BINENV= /usr/bin/env -i
MKNATIVE_ENV= ${BINENV} ${CONFIGURE_ENV:NC*:NLD*:Nam_cv_func_iconv*} \
CC_FOR_BUILD=${HOST_CC:Q} \
CXX_FOR_BUILD=${HOST_CXX:Q} \
CFLAGS_FOR_BUILD="-I${TOOLDIR}/include" \
CC=${CC:Q}' '${CCADDFLAGS:Q} \
CXX=${CXX:Q}' '${CCADDFLAGS:Q}' '${CXXADDFLAGS:Q} \
CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \
CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \
AS=${AS:Q} AWK=${TOOL_AWK:Q} LD=${LD:Q} \
MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \
NM=${NM:Q} OBJDUMP=${OBJDUMP:Q} \
XGETTEXT=${TOOLDIR}/bin/${_TOOL_PREFIX}xgettext \
LIBS=-lintl \
${MKNATIVE_CONFIGURE_PRESET}
MKENV_BUILD_MAKE=${MKNATIVE_ENV} ${BUILD_MAKE}
CCADDFLAGS+= --sysroot=${DESTDIR} -B${DESTDIR}/usr/lib/ -I${.OBJDIR}/.native/gcc/include
LDADDFLAGS+= -L${DESTDIR}/lib -L${DESTDIR}/usr/lib
CXXADDFLAGS+= -D__STDC_FORMAT_MACROS
CXXADDFLAGS+= -D__STDC_LIMIT_MACROS
CXXADDFLAGS+= -D__STDC_CONSTANT_MACROS
HOST_CXXFLAGS+= ${CXXADDFLAGS}
NEWCONFIGDIR?= ${.CURDIR}/../..
MKNATIVE?= ${.CURDIR}/mknative-gdb
# Some configure tests require running a test program, which is not
# possible when cross-building. Provide configure with "cached"
# values in the environment.
MKNATIVE_CONFIGURE_PRESET= \
ac_cv_prog_cc_cross=yes \
ac_cv_func_fork_works=yes \
ac_cv_func_strcoll_works=yes \
bash_cv_func_ctype_nonascii=yes \
bash_cv_func_sigsetjmp=present \
bash_cv_func_strcoll_broken=no \
bash_cv_must_reinstall_sighandlers=no
CONFIGURE_ENV+= am_cv_func_iconv=no
# Recent versions of Solaris have ncurses, but they hide the lib in an
# odd directory. Prevent configure from finding the ncurses headers,
# Solaris curses is sufficient.
.if ${BUILD_OSTYPE} == "SunOS"
CONFIGURE_ENV+= ac_cv_header_ncurses_h=no \
ac_cv_header_ncurses_ncurses_h=no \
ac_cv_header_ncurses_term_h=no
.endif
# Disable sim unless it's known to work (configure's default is to
# enable sim if supported).
CONFIGURE_ARGS_SIM=
.if \
${MACHINE_CPU} != "powerpc" && \
${MACHINE_CPU} != "powerpc64"
CONFIGURE_ARGS_SIM+= --disable-sim
.endif
native-gdb: .native/.configure_done
@echo 'Extracting GDB configury for a native toolchain.'
MAKE=${BUILD_MAKE:Q} ${HOST_SH} ${MKNATIVE} gdb \
${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM} \
${GDB_MACHINE_ARCH}
.native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile
mkdir ${.OBJDIR}/.native 2>/dev/null || true
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd ${.OBJDIR}/.native && \
${MKNATIVE_ENV} ${HOST_SH} ${GNUHOSTDIST}/configure \
--prefix=/usr \
--with-separate-debug-dir=/usr/libdata/debug \
${CONFIGURE_ARGS_SIM} \
--build=`${GNUHOSTDIST}/config.guess` \
--host=${MACHINE_GNU_PLATFORM} \
--target=${MACHINE_GNU_PLATFORM})
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd ${.OBJDIR}/.native && \
${MKENV_BUILD_MAKE} configure-host) && \
(cd ${.OBJDIR}/.native/bfd && \
${MKENV_BUILD_MAKE} bfd.h bfdver.h) && \
(cd ${.OBJDIR}/.native/gdb && \
${MKENV_BUILD_MAKE} init.c version.c)
@touch $@
clean: clean.native
clean.native:
-rm -r -f .native