building defaults to off until clang is updated. current clang does not handle -shared, necessary to change the ld invocation to build shared libraries properly. a new clang should be installed and MKPIC defaults to no unless the newer clang is detected. changes: . mainly small imports of a Makefile or two and small fixes (turning things back on that were turned off in Makefiles) . e.g.: dynamic librefuse now depends on dynamic libpuffs, so libpuffs has to be built dynamically too and a make dependency barrier is needed in lib/Makefile . all library objects now have a PIC (for .so) and non-PIC version, so everything is built twice. . generate PIC versions of the compat (un-RENAMEd) jump files, include function type annotation in generated assembly . build progs with -static by default for now . also build ld.elf_so . also import NetBSD ldd
22 lines
735 B
Makefile
22 lines
735 B
Makefile
# $NetBSD: bsd.gcc.mk,v 1.3 2008/10/25 19:11:28 mrg Exp $
|
|
|
|
.if !defined(_BSD_GCC_MK_)
|
|
_BSD_GCC_MK_=1
|
|
|
|
.if defined(EXTERNAL_TOOLCHAIN)
|
|
_GCC_CRTBEGIN!= ${CC} --print-file-name=crtbegin.o
|
|
_GCC_CRTBEGINS!= ${CC} --print-file-name=crtbeginS.o
|
|
_GCC_CRTEND!= ${CC} --print-file-name=crtend.o
|
|
_GCC_CRTENDS!= ${CC} --print-file-name=crtendS.o
|
|
_GCC_CRTDIR!= dirname ${_GCC_CRTBEGIN}
|
|
_GCC_LIBGCCDIR!= dirname `${CC} --print-libgcc-file-name`
|
|
.else
|
|
_GCC_CRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o
|
|
_GCC_CRTBEGINS?= ${DESTDIR}/usr/lib/crtbeginS.o
|
|
_GCC_CRTEND?= ${DESTDIR}/usr/lib/crtend.o
|
|
_GCC_CRTENDS?= ${DESTDIR}/usr/lib/crtendS.o
|
|
_GCC_CRTDIR?= ${DESTDIR}/usr/lib
|
|
_GCC_LIBGCCDIR?= ${DESTDIR}/usr/lib
|
|
.endif
|
|
|
|
.endif # ! defined(_BSD_GCC_MK_)
|