| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile.inc,v 1.23 2013/11/17 11:16:09 martin Exp $ | | 1 | # $NetBSD: Makefile.inc,v 1.24 2014/01/11 00:18:15 matt Exp $ |
2 | | | 2 | |
3 | .include <bsd.own.mk> | | 3 | .include <bsd.own.mk> |
4 | | | 4 | |
5 | # XXX: FIXME: This is defined in bsd.lib.mk | | 5 | # XXX: FIXME: This is defined in bsd.lib.mk |
6 | PICFLAGS ?= -fPIC | | 6 | PICFLAGS ?= -fPIC |
7 | | | 7 | |
8 | COMMON_DIR:= ${.CURDIR}/common | | 8 | COMMON_DIR:= ${.CURDIR}/common |
9 | .PATH: ${COMMON_DIR} | | 9 | .PATH: ${COMMON_DIR} |
10 | | | 10 | |
11 | CPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I. | | 11 | CPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I. |
12 | | | 12 | |
13 | OBJS+= crt0.o gcrt0.o crti.o crtn.o | | 13 | OBJS+= crt0.o gcrt0.o crti.o crtn.o |
14 | OBJS+= crtbegin.o crtend.o | | 14 | OBJS+= crtbegin.o crtend.o |
| @@ -32,88 +32,90 @@ OBJS += sparc_mcmedlow.o sparc_mcmedmid. | | | @@ -32,88 +32,90 @@ OBJS += sparc_mcmedlow.o sparc_mcmedmid. |
32 | .endif | | 32 | .endif |
33 | | | 33 | |
34 | realall: ${OBJS} | | 34 | realall: ${OBJS} |
35 | | | 35 | |
36 | .if exists(${ARCHDIR}/crtbegin.S) | | 36 | .if exists(${ARCHDIR}/crtbegin.S) |
37 | crtbegin.o: crtbegin.S | | 37 | crtbegin.o: crtbegin.S |
38 | ${_MKTARGET_COMPILE} | | 38 | ${_MKTARGET_COMPILE} |
39 | ${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o | | 39 | ${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o |
40 | .else | | 40 | .else |
41 | crtbegin.o: crtbegin.c crtbegin.h | | 41 | crtbegin.o: crtbegin.c crtbegin.h |
42 | ${_MKTARGET_COMPILE} | | 42 | ${_MKTARGET_COMPILE} |
43 | ${COMPILE.c} ${CFLAGS.crtbegin.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o | | 43 | ${COMPILE.c} ${CFLAGS.crtbegin.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o |
44 | .endif | | 44 | .endif |
45 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.o | | 45 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
46 | rm -f ${.TARGET}.o | | 46 | rm -f ${.TARGET}.o |
47 | .if ${MKSTRIPIDENT} != "no" | | 47 | .if ${MKSTRIPIDENT} != "no" |
48 | ${OBJCOPY} -R .ident ${.TARGET} | | 48 | ${OBJCOPY} -R .ident ${.TARGET} |
49 | .endif | | 49 | .endif |
50 | | | 50 | |
51 | .if exists(${ARCHDIR}/crtbegin.S) | | 51 | .if exists(${ARCHDIR}/crtbegin.S) |
52 | crtbeginS.o: crtbegin.S | | 52 | crtbeginS.o: crtbegin.S |
53 | ${_MKTARGET_COMPILE} | | 53 | ${_MKTARGET_COMPILE} |
54 | ${COMPILE.S} ${PICFLAGS} -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o | | 54 | ${COMPILE.S} ${PICFLAGS} -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o |
55 | .else | | 55 | .else |
56 | crtbeginS.o: crtbegin.c crtbegin.h | | 56 | crtbeginS.o: crtbegin.c crtbegin.h |
57 | ${_MKTARGET_COMPILE} | | 57 | ${_MKTARGET_COMPILE} |
58 | ${COMPILE.c} ${PICFLAGS} -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o | | 58 | ${COMPILE.c} ${PICFLAGS} -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o |
59 | .endif | | 59 | .endif |
60 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.o | | 60 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
61 | rm -f ${.TARGET}.o | | 61 | rm -f ${.TARGET}.o |
62 | .if ${MKSTRIPIDENT} != "no" | | 62 | .if ${MKSTRIPIDENT} != "no" |
63 | ${OBJCOPY} -R .ident ${.TARGET} | | 63 | ${OBJCOPY} -R .ident ${.TARGET} |
64 | .endif | | 64 | .endif |
65 | | | 65 | |
66 | crtend.o: crtend.S | | 66 | crtend.o: crtend.S |
67 | ${_MKTARGET_COMPILE} | | 67 | ${_MKTARGET_COMPILE} |
68 | ${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o | | 68 | ${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o |
69 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.o | | 69 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
70 | rm -f ${.TARGET}.o | | 70 | rm -f ${.TARGET}.o |
71 | .if ${MKSTRIPIDENT} != "no" | | 71 | .if ${MKSTRIPIDENT} != "no" |
72 | ${OBJCOPY} -R .ident ${.TARGET} | | 72 | ${OBJCOPY} -R .ident ${.TARGET} |
73 | .endif | | 73 | .endif |
74 | | | 74 | |
75 | .if ${MKPIC} != "no" | | 75 | .if ${MKPIC} != "no" |
76 | MY_PICFLAGS= ${PICFLAGS} | | 76 | MY_PICFLAGS= ${PICFLAGS} |
77 | .else | | 77 | .else |
78 | MY_PICFLAGS= | | 78 | MY_PICFLAGS= |
79 | .endif | | 79 | .endif |
80 | | | 80 | |
81 | crt0.o: crt0.S crt0-common.c | | 81 | crt0.o: crt0.S crt0-common.c |
82 | ${_MKTARGET_COMPILE} | | 82 | ${_MKTARGET_COMPILE} |
83 | ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o | | 83 | ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o |
84 | ${COMPILE.c} ${MY_PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o | | 84 | ${COMPILE.c} ${MY_PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o |
85 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o | | 85 | ${LD} -r -o ${.TARGET}.o ${.TARGET}.S.o ${.TARGET}.c.o |
86 | rm -f ${.TARGET}.S.o ${.TARGET}.c.o | | 86 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
| | | 87 | rm -f ${.TARGET}.S.o ${.TARGET}.c.o ${.TARGET}.o |
87 | .if ${MKSTRIPIDENT} != "no" | | 88 | .if ${MKSTRIPIDENT} != "no" |
88 | ${OBJCOPY} -R .ident ${.TARGET} | | 89 | ${OBJCOPY} -R .ident ${.TARGET} |
89 | .endif | | 90 | .endif |
90 | | | 91 | |
91 | gcrt0.o: crt0.S crt0-common.c | | 92 | gcrt0.o: crt0.S crt0-common.c |
92 | ${_MKTARGET_COMPILE} | | 93 | ${_MKTARGET_COMPILE} |
93 | ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o | | 94 | ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o |
94 | ${COMPILE.c} ${MY_PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o | | 95 | ${COMPILE.c} ${MY_PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o |
95 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o | | 96 | ${LD} -r -o ${.TARGET}.o ${.TARGET}.S.o ${.TARGET}.c.o |
96 | rm -f ${.TARGET}.S.o ${.TARGET}.c.o | | 97 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
| | | 98 | rm -f ${.TARGET}.S.o ${.TARGET}.c.o ${.TARGET}.o |
97 | .if ${MKSTRIPIDENT} != "no" | | 99 | .if ${MKSTRIPIDENT} != "no" |
98 | ${OBJCOPY} -R .ident ${.TARGET} | | 100 | ${OBJCOPY} -R .ident ${.TARGET} |
99 | .endif | | 101 | .endif |
100 | | | 102 | |
101 | .if ${MACHINE_ARCH} == "alpha" | | 103 | .if ${MACHINE_ARCH} == "alpha" |
102 | # can't do this in Makefile.inc otherwise it will before realall: | | 104 | # can't do this in Makefile.inc otherwise it will before realall: |
103 | crtfm.o: crtfm.c | | 105 | crtfm.o: crtfm.c |
104 | ${_MKTARGET_COMPILE} | | 106 | ${_MKTARGET_COMPILE} |
105 | ${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o | | 107 | ${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o |
106 | ${LD} -x -r -o ${.TARGET} ${.TARGET}.o | | 108 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.o ${.TARGET} |
107 | rm -f ${.TARGET}.o | | 109 | rm -f ${.TARGET}.o |
108 | .endif | | 110 | .endif |
109 | | | 111 | |
110 | GENASSYM_CONF= ${COMMON_DIR}/sysident_assym.cf | | 112 | GENASSYM_CONF= ${COMMON_DIR}/sysident_assym.cf |
111 | sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} ${NETBSDSRCDIR}/sys/sys/param.h | | 113 | sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} ${NETBSDSRCDIR}/sys/sys/param.h |
112 | ${_MKTARGET_CREATE} | | 114 | ${_MKTARGET_CREATE} |
113 | cat ${COMMON_DIR}/sysident_assym.cf | \ | | 115 | cat ${COMMON_DIR}/sysident_assym.cf | \ |
114 | ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \ | | 116 | ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \ |
115 | > sysident_assym.h.tmp && \ | | 117 | > sysident_assym.h.tmp && \ |
116 | mv -f sysident_assym.h.tmp sysident_assym.h | | 118 | mv -f sysident_assym.h.tmp sysident_assym.h |
117 | | | 119 | |
118 | CLEANFILES+= sysident_assym.h | | 120 | CLEANFILES+= sysident_assym.h |
119 | | | 121 | |