]>
Commit | Line | Data |
---|---|---|
b26e3a82 | 1 | # Common support for PowerPC ELF targets (both EABI and SVR4). |
eaf1bcf1 | 2 | |
fa9518de FS |
3 | LIB2FUNCS_EXTRA = tramp.S |
4 | ||
5 | # This one can't end up in shared libgcc | |
6 | LIB2FUNCS_STATIC_EXTRA = eabi.S | |
c91fba50 JL |
7 | |
8 | # We want fine grained libraries, so use the new code to build the | |
9 | # floating point emulation libraries. | |
10 | FPBIT = fp-bit.c | |
11 | DPBIT = dp-bit.c | |
12 | ||
eaf1bcf1 MM |
13 | |
14 | dp-bit.c: $(srcdir)/config/fp-bit.c | |
15 | cat $(srcdir)/config/fp-bit.c > dp-bit.c | |
16 | ||
17 | fp-bit.c: $(srcdir)/config/fp-bit.c | |
18 | echo '#define FLOAT' > fp-bit.c | |
19 | cat $(srcdir)/config/fp-bit.c >> fp-bit.c | |
20 | ||
21 | eabi.S: $(srcdir)/config/rs6000/eabi.asm | |
22 | cat $(srcdir)/config/rs6000/eabi.asm > eabi.S | |
23 | ||
eaf1bcf1 MM |
24 | tramp.S: $(srcdir)/config/rs6000/tramp.asm |
25 | cat $(srcdir)/config/rs6000/tramp.asm > tramp.S | |
26 | ||
27 | # Switch synonyms | |
b5370a88 MM |
28 | MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \ |
29 | msoft-float=mcpu?403 \ | |
30 | msoft-float=mcpu?ec603e \ | |
31 | msoft-float=mcpu?801 \ | |
32 | msoft-float=mcpu?821 \ | |
33 | msoft-float=mcpu?823 \ | |
34 | msoft-float=mcpu?860 | |
eaf1bcf1 | 35 | MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian |
edf1b3f3 | 36 | MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd |
eaf1bcf1 MM |
37 | |
38 | LIBGCC = stmp-multilib | |
39 | INSTALL_LIBGCC = install-multilib | |
b26e3a82 | 40 | EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \ |
362c63a5 | 41 | crtbeginS$(objext) crtendS$(objext) \ |
edf1b3f3 AC |
42 | ecrti$(objext) ecrtn$(objext) \ |
43 | scrt0$(objext) scrti$(objext) scrtn$(objext) \ | |
44 | ncrti$(objext) ncrtn$(objext) | |
eaf1bcf1 | 45 | |
edf1b3f3 AC |
46 | # We build {e,s}crti.o, {e,s}crtn.o, and {s,n}crt0.o which serve to |
47 | # add begin and end labels to all of the special sections used when we | |
48 | # link using gcc. | |
eaf1bcf1 MM |
49 | |
50 | # Assemble startup files. | |
51 | ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm | |
52 | cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S | |
53 | ||
54 | ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm | |
55 | cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S | |
56 | ||
edf1b3f3 AC |
57 | ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm |
58 | sed -e 's/__init/_init/' -e 's/__fini/_fini/' \ | |
59 | $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S | |
60 | ||
61 | ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm | |
62 | sed -e 's/__init/_init/' -e 's/__fini/_fini/' \ | |
63 | $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S | |
64 | ||
eaf1bcf1 MM |
65 | scrti.S: $(srcdir)/config/rs6000/sol-ci.asm |
66 | cat $(srcdir)/config/rs6000/sol-ci.asm >scrti.S | |
67 | ||
68 | scrtn.S: $(srcdir)/config/rs6000/sol-cn.asm | |
69 | cat $(srcdir)/config/rs6000/sol-cn.asm >scrtn.S | |
70 | ||
71 | scrt0.c: $(srcdir)/config/rs6000/sol-c0.c | |
72 | cat $(srcdir)/config/rs6000/sol-c0.c >scrt0.c | |
73 | ||
74 | # Build multiple copies of ?crt{i,n}.o, one for each target switch. | |
75 | $(T)ecrti$(objext): ecrti.S | |
76 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext) | |
77 | ||
78 | $(T)ecrtn$(objext): ecrtn.S | |
79 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext) | |
80 | ||
edf1b3f3 AC |
81 | $(T)ncrti$(objext): ncrti.S |
82 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext) | |
83 | ||
84 | $(T)ncrtn$(objext): ncrtn.S | |
85 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext) | |
86 | ||
eaf1bcf1 MM |
87 | $(T)scrti$(objext): scrti.S |
88 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrti.S -o $(T)scrti$(objext) | |
89 | ||
90 | $(T)scrtn$(objext): scrtn.S | |
91 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrtn.S -o $(T)scrtn$(objext) | |
92 | ||
93 | $(T)scrt0$(objext): scrt0.c | |
94 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrt0.c -o $(T)scrt0$(objext) | |
2d5b6dea GK |
95 | |
96 | # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata. | |
97 | CRTSTUFF_T_CFLAGS = -msdata=none | |
362c63a5 GK |
98 | # There is no need to add -fPIC here because crtstuff is multilibbed |
99 | # and so automatically gets -fPIC when needed. | |
100 | CRTSTUFF_T_CFLAGS_S = -msdata=none |