| @@ -1,87 +1,87 @@ | | | @@ -1,87 +1,87 @@ |
1 | # $NetBSD: Makefile,v 1.17 2014/01/11 00:30:23 matt Exp $ | | 1 | # $NetBSD: Makefile,v 1.18 2014/01/11 02:45:52 matt Exp $ |
2 | | | 2 | |
3 | REQUIRETOOLS= yes | | 3 | REQUIRETOOLS= yes |
4 | NOLINT= # defined | | 4 | NOLINT= # defined |
5 | NOPIC= # defined | | 5 | NOPIC= # defined |
6 | NOPROFILE= # defined | | 6 | NOPROFILE= # defined |
7 | | | 7 | |
8 | LIB= gcc | | 8 | LIB= gcc |
9 | | | 9 | |
10 | .include <bsd.own.mk> | | 10 | .include <bsd.own.mk> |
11 | | | 11 | |
12 | .if ${MKGCC} != "no" | | 12 | .if ${MKGCC} != "no" |
13 | | | 13 | |
14 | .include <bsd.init.mk> | | 14 | .include <bsd.init.mk> |
15 | | | 15 | |
16 | .cc: # disable .cc->NULL transform | | 16 | .cc: # disable .cc->NULL transform |
17 | | | 17 | |
18 | # XXX handle this better? | | 18 | # XXX handle this better? |
19 | .if ${MACHINE} == "emips" | | 19 | .if ${MACHINE} == "emips" |
20 | G_LIB2ADD_HACK+= ${GNUHOSTDIST}/gcc/config/floatunsidf.c \ | | 20 | G_LIB2ADD_HACK+= ${GNUHOSTDIST}/gcc/config/floatunsidf.c \ |
21 | ${GNUHOSTDIST}/gcc/config/floatunsisf.c | | 21 | ${GNUHOSTDIST}/gcc/config/floatunsisf.c |
22 | .endif | | 22 | .endif |
23 | | | 23 | |
24 | SRCS+= ${LIB2FUNCS} ${LIB2FUNCS_ST} ${LIB2DIVMOD} \ | | 24 | SRCS+= ${LIB2FUNCS} ${LIB2FUNCS_ST} ${LIB2DIVMOD} \ |
25 | ${G_LIB2ADD_HACK:T:S/.asm/.S/} ${G_LIB2ADD:T:S/.asm/.S/} \ | | 25 | ${G_LIB2ADD_HACK:T:S/.asm/.S/} ${G_LIB2ADD:T:S/.asm/.S/} \ |
26 | ${G_LIB2ADD_ST} ${LIB1ASMFUNCS} | | 26 | ${G_LIB2ADD_ST} ${LIB1ASMFUNCS} |
27 | .if ${MKPIC} == "no" | | 27 | .if ${MKPIC} == "no" |
28 | .if empty(LIBGCC_MACHINE_ARCH:Mearm*) | | 28 | .if empty(LIBGCC_MACHINE_ARCH:Mearm*) |
29 | SRCS+= ${LIB2_EH} ${LIB2_EHASM} | | 29 | SRCS+= ${LIB2_EH} ${LIB2_EHASM} |
30 | .endif | | 30 | .endif |
31 | PICFLAGS= | | 31 | PICFLAGS= |
32 | .else | | 32 | .else |
33 | CPPFLAGS+= -DPIC | | 33 | CPPFLAGS+= -DPIC |
34 | .endif | | 34 | .endif |
35 | | | 35 | |
36 | # These usually just have "foo.S", we need to link from the | | 36 | # These usually just have "foo.S", we need to link from the |
37 | # gcc/config/$PLATFORM/foo.asm to it. So far, only rs6000 uses it, | | 37 | # gcc/config/$PLATFORM/foo.asm to it. So far, only rs6000 uses it, |
38 | # so we hack it for now. | | 38 | # so we hack it for now. |
39 | #.for file in ${G_LIB2ADD_ST} | | 39 | #.for file in ${G_LIB2ADD_ST} |
40 | . if ${LIBGCC_MACHINE_ARCH} == "powerpc" # XXX XXX why does the above work?* | | 40 | . if ${LIBGCC_MACHINE_ARCH} == "powerpc" # XXX XXX why does the above work?* |
41 | .for file in crtsavfpr.S crtresfpr.S crtsavgpr.S crtresgpr.S crtresxfpr.S crtresxgpr.S | | 41 | .for file in crtsavfpr.S crtresfpr.S crtsavgpr.S crtresgpr.S crtresxfpr.S crtresxgpr.S |
42 | BUILDSYMLINKS+= ${GNUHOSTDIST}/gcc/config/rs6000/${file:S/.S$/.asm/} ${file} | | 42 | BUILDSYMLINKS+= ${GNUHOSTDIST}/gcc/config/rs6000/${file:S/.S$/.asm/} ${file} |
43 | .endfor | | 43 | .endfor |
44 | . endif | | 44 | . endif |
45 | | | 45 | |
46 | # Force building libgcc.a. It will be PIC from -DPIC above and also | | 46 | # Force building libgcc.a. It will be PIC from -DPIC above and also |
47 | # the -fpic/-FPIC present in ${G_LIBGCC2_CFLAGS}. | | 47 | # the -fpic/-FPIC present in ${G_LIBGCC2_CFLAGS}. |
48 | MKPIC:= no | | 48 | MKPIC:= no |
49 | | | 49 | |
50 | COPTS.unwind-dw2.c = -Wno-stack-protector | | 50 | COPTS.unwind-dw2.c = -Wno-stack-protector |
51 | | | 51 | |
52 | .include <bsd.lib.mk> | | 52 | .include <bsd.lib.mk> |
53 | | | 53 | |
54 | | | 54 | |
55 | CLEANFILES+= ${SOBJS:=.tmp1} ${SOBJS:=.tmp2} | | 55 | CLEANFILES+= ${SOBJS:=.tmp1} ${SOBJS:=.tmp2} |
56 | | | 56 | |
57 | .c.o: | | 57 | .c.o: |
58 | ${_MKTARGET_COMPILE} | | 58 | ${_MKTARGET_COMPILE} |
59 | ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.tmp1 | | 59 | ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.tmp1 |
60 | ${NM} -pg ${.TARGET}.tmp1 | \ | | 60 | ${NM} -pg ${.TARGET}.tmp1 | \ |
61 | ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \ | | 61 | ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \ |
62 | ${CC} ${COPTS} -Wl,-x -r -nostdinc -nostdlib ${CPUFLAGS} -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - | | 62 | ${CC} ${COPTS} -r -nostdinc -nostdlib ${CPUFLAGS} -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - |
63 | .if defined(COPTS) && !empty(COPTS:M*-g*) | | 63 | .if defined(COPTS) && !empty(COPTS:M*-g*) |
64 | mv ${.TARGET}.tmp2 ${.TARGET} | | 64 | mv ${.TARGET}.tmp2 ${.TARGET} |
65 | .else | | 65 | .else |
66 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.tmp2 ${.TARGET} | | 66 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.tmp2 ${.TARGET} |
67 | rm -f ${.TARGET}.tmp2 | | 67 | rm -f ${.TARGET}.tmp2 |
68 | .endif | | 68 | .endif |
69 | rm -f ${.TARGET}.tmp1 | | 69 | rm -f ${.TARGET}.tmp1 |
70 | | | 70 | |
71 | .S.o .s.o: | | 71 | .S.o .s.o: |
72 | ${_MKTARGET_COMPILE} | | 72 | ${_MKTARGET_COMPILE} |
73 | ${COMPILE.S} ${PICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1 | | 73 | ${COMPILE.S} ${PICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1 |
74 | ${NM} -pg ${.TARGET}.tmp1 | \ | | 74 | ${NM} -pg ${.TARGET}.tmp1 | \ |
75 | ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \ | | 75 | ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \ |
76 | ${CC} ${COPTS} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - | | 76 | ${CC} ${COPTS} -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - |
77 | .if defined(COPTS) && !empty(COPTS:M*-g*) | | 77 | .if defined(COPTS) && !empty(COPTS:M*-g*) |
78 | mv ${.TARGET}.tmp2 ${.TARGET} | | 78 | mv ${.TARGET}.tmp2 ${.TARGET} |
79 | .else | | 79 | .else |
80 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.tmp2 ${.TARGET} | | 80 | ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}.tmp2 ${.TARGET} |
81 | rm -f ${.TARGET}.tmp2 | | 81 | rm -f ${.TARGET}.tmp2 |
82 | .endif | | 82 | .endif |
83 | rm -f ${.TARGET}.tmp1 | | 83 | rm -f ${.TARGET}.tmp1 |
84 | | | 84 | |
85 | .else | | 85 | .else |
86 | .include <bsd.prog.mk> # do nothing | | 86 | .include <bsd.prog.mk> # do nothing |
87 | .endif | | 87 | .endif |