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
20 lines
636 B
Makefile
20 lines
636 B
Makefile
${ASM}:
|
|
${_MKTARGET_CREATE}
|
|
printf '/* MINIX3 */ \n\
|
|
/* \n\
|
|
* Compatibility jump table for renamed symbols. \n\
|
|
* \n\
|
|
* DO NOT EDIT: this file is automatically generated. \n\
|
|
*/ \n\
|
|
#include <machine/asm.h> \n\
|
|
.global ${.PREFIX:S/^compat__//:C/([0-9]{2})$//}; \n\
|
|
.global ${.PREFIX:S/^compat//}; \n\
|
|
.type ${.PREFIX:S/^compat__//:C/([0-9]{2})$//},@function \n\
|
|
${.PREFIX:S/^compat__//:C/([0-9]{2})$//}: \n\
|
|
#ifdef PIC \n\
|
|
jmpl *PIC_PLT(${.PREFIX:S/^compat//}) \n\
|
|
#else \n\
|
|
jmp ${.PREFIX:S/^compat//} \n\
|
|
#endif \n\
|
|
\n ' >${.TARGET}
|
|
|