| @@ -1,14 +1,19 @@ | | | @@ -1,14 +1,19 @@ |
1 | # $NetBSD: Makefile,v 1.87 2008/10/26 07:11:54 mrg Exp $ | | 1 | # $NetBSD: Makefile,v 1.87.8.1 2009/12/14 06:57:16 mrg Exp $ |
| | | 2 | |
| | | 3 | # This needs to be before bsd.init.mk |
| | | 4 | .if defined(BSD_MK_COMPAT_FILE) |
| | | 5 | .include <${BSD_MK_COMPAT_FILE}> |
| | | 6 | .endif |
2 | | | 7 | |
3 | # We are not building this with PIE | | 8 | # We are not building this with PIE |
4 | PIE_CFLAGS= | | 9 | PIE_CFLAGS= |
5 | PIE_LDFLAGS= | | 10 | PIE_LDFLAGS= |
6 | .include <bsd.init.mk> # for OBJECT_FMT definition | | 11 | .include <bsd.init.mk> # for OBJECT_FMT definition |
7 | .include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition | | 12 | .include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition |
8 | | | 13 | |
9 | .if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \ | | 14 | .if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \ |
10 | exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU}) | | 15 | exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU}) |
11 | ARCHSUBDIR= ${LDELFSO_MACHINE_CPU} | | 16 | ARCHSUBDIR= ${LDELFSO_MACHINE_CPU} |
12 | .else | | 17 | .else |
13 | ARCHSUBDIR= ${MACHINE_CPU} | | 18 | ARCHSUBDIR= ${MACHINE_CPU} |
14 | .endif | | 19 | .endif |
| @@ -18,44 +23,45 @@ M= ${.CURDIR}/arch/${ARCHSUBDIR} | | | @@ -18,44 +23,45 @@ M= ${.CURDIR}/arch/${ARCHSUBDIR} |
18 | (${MACHINE_CPU} == "arm") || \ | | 23 | (${MACHINE_CPU} == "arm") || \ |
19 | (${MACHINE_ARCH} == "hppa") || \ | | 24 | (${MACHINE_ARCH} == "hppa") || \ |
20 | (${MACHINE_ARCH} == "i386") || \ | | 25 | (${MACHINE_ARCH} == "i386") || \ |
21 | (${MACHINE_ARCH} == "m68k") || \ | | 26 | (${MACHINE_ARCH} == "m68k") || \ |
22 | (${MACHINE_CPU} == "mips") || \ | | 27 | (${MACHINE_CPU} == "mips") || \ |
23 | (${MACHINE_ARCH} == "powerpc") || \ | | 28 | (${MACHINE_ARCH} == "powerpc") || \ |
24 | (${MACHINE_CPU} == "sh3") || \ | | 29 | (${MACHINE_CPU} == "sh3") || \ |
25 | (${MACHINE_ARCH} == "sparc") || \ | | 30 | (${MACHINE_ARCH} == "sparc") || \ |
26 | (${MACHINE_ARCH} == "sparc64") || \ | | 31 | (${MACHINE_ARCH} == "sparc64") || \ |
27 | (${MACHINE_ARCH} == "x86_64") || \ | | 32 | (${MACHINE_ARCH} == "x86_64") || \ |
28 | (${MACHINE_ARCH} == "vax")) && \ | | 33 | (${MACHINE_ARCH} == "vax")) && \ |
29 | ${OBJECT_FMT} == "ELF" && ${MKPIC} != "no" | | 34 | ${OBJECT_FMT} == "ELF" && ${MKPIC} != "no" |
30 | | | 35 | |
31 | PROG?= ld.elf_so | | | |
32 | | | | |
33 | LDFLAGS+= -shared -symbolic -nostartfiles | | 36 | LDFLAGS+= -shared -symbolic -nostartfiles |
34 | LDFLAGS+= -Wl,-static | | 37 | LDFLAGS+= -Wl,-static |
35 | | | 38 | |
36 | # Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source | | 39 | # Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source |
37 | # is first. | | 40 | # is first. |
38 | .if exists($M/Makefile.inc) | | 41 | .if exists($M/Makefile.inc) |
39 | .include "$M/Makefile.inc" | | 42 | .include "$M/Makefile.inc" |
40 | .endif | | 43 | .endif |
41 | | | 44 | |
42 | # Support src/compat/libexec/ld.elf_so. | | 45 | # Support compat ld.elf_so. |
43 | .if defined(LD32DIR) | | 46 | .if defined(MLIBDIR) |
44 | CLIBOBJ!= cd ${NETBSDSRCDIR}/compat/lib/libc && ${PRINTOBJDIR} | | 47 | PROG= ld.elf_so-${MLIBDIR} |
| | | 48 | CPPFLAGS+= -DRTLD_ARCH_SUBDIR=\"${MLIBDIR}\" |
45 | .else | | 49 | .else |
46 | CLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR} | | 50 | PROG= ld.elf_so |
47 | .endif | | 51 | .endif |
48 | | | 52 | |
| | | 53 | CLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR} |
| | | 54 | |
49 | SRCS+= rtld.c reloc.c symbol.c xmalloc.c xprintf.c debug.c \ | | 55 | SRCS+= rtld.c reloc.c symbol.c xmalloc.c xprintf.c debug.c \ |
50 | map_object.c load.c search.c headers.c paths.c expand.c | | 56 | map_object.c load.c search.c headers.c paths.c expand.c |
51 | | | 57 | |
52 | .if ${USE_FORT} == "yes" | | 58 | .if ${USE_FORT} == "yes" |
53 | .PATH.c: ${NETBSDSRCDIR}/lib/libc/misc | | 59 | .PATH.c: ${NETBSDSRCDIR}/lib/libc/misc |
54 | SRCS+= stack_protector.c | | 60 | SRCS+= stack_protector.c |
55 | .endif | | 61 | .endif |
56 | | | 62 | |
57 | .PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib | | 63 | .PATH.c: ${NETBSDSRCDIR}/lib/libc/stdlib |
58 | SRCS+= exit.c | | 64 | SRCS+= exit.c |
59 | | | 65 | |
60 | BINDIR= ${SHLINKINSTALLDIR} | | 66 | BINDIR= ${SHLINKINSTALLDIR} |
61 | | | 67 | |