Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/sh/t-sh @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children | 77e2b8dfacca |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 sh-c.o: $(srcdir)/config/sh/sh-c.c \ | |
2 $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TM_H) $(TM_P_H) coretypes.h | |
3 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/sh/sh-c.c | |
4 | |
5 LIB1ASMSRC = sh/lib1funcs.asm | |
6 LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movmem \ | |
7 _movmem_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \ | |
8 _div_table _udiv_qrnnd_16 \ | |
9 $(LIB1ASMFUNCS_CACHE) | |
10 LIB1ASMFUNCS_CACHE = _ic_invalidate _ic_invalidate_array | |
11 | |
12 # We want fine grained libraries, so use the new code to build the | |
13 # floating point emulation libraries. | |
14 FPBIT = fp-bit.c | |
15 DPBIT = dp-bit.c | |
16 | |
17 dp-bit.c: $(srcdir)/config/fp-bit.c | |
18 echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c | |
19 echo '#define FLOAT_BIT_ORDER_MISMATCH' >>dp-bit.c | |
20 echo '#endif' >> dp-bit.c | |
21 cat $(srcdir)/config/fp-bit.c >> dp-bit.c | |
22 | |
23 fp-bit.c: $(srcdir)/config/fp-bit.c | |
24 echo '#define FLOAT' > fp-bit.c | |
25 echo '#ifdef __LITTLE_ENDIAN__' >> fp-bit.c | |
26 echo '#define FLOAT_BIT_ORDER_MISMATCH' >>fp-bit.c | |
27 echo '#endif' >> fp-bit.c | |
28 cat $(srcdir)/config/fp-bit.c >> fp-bit.c | |
29 | |
30 MULTILIB_ENDIAN = ml/mb | |
31 MULTILIB_CPUS= $(ML_sh1)$(ML_sh2a)$(ML_sh2a_nofpu)$(ML_sh2a_single_only)$(ML_sh2a_single)$(ML_sh2e)$(ML_sh2)$(ML_sh3e)$(ML_sh3)$(ML_sh4_nofpu)$(ML_sh4_single_only)$(ML_sh4_single)$(ML_sh4)$(ML_sh4a_nofpu)$(ML_sh4a_single_only)$(ML_sh4a_single)$(ML_sh4a)$(ML_sh5_32media)$(ML_sh5_32media_nofpu)$(ML_sh5_compact)$(ML_sh5_compact_nofpu)$(ML_sh5_64media)$(ML_sh5_64media_nofpu) | |
32 | |
33 MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) $(MULTILIB_CPUS:/=) | |
34 MULTILIB_DIRNAMES= | |
35 | |
36 # The separate entries for m2a-nofpu and m2a-single-only with | |
37 # duplicate base libraries are there to make sure we don't ever use an | |
38 # m4* multilib for m2a or vice-versa; they are not compatible. This | |
39 # is why sh2a and sh2a-single need their own multilibs. | |
40 MULTILIB_MATCHES = $(shell \ | |
41 multilibs="$(MULTILIB_OPTIONS)" ; \ | |
42 for abi in m1,m2,m3,m4-nofpu,m4-100-nofpu,m4-200-nofpu,m4-400,m4-500,m4-340,m4-300-nofpu,m4al,m4a-nofpu \ | |
43 m1,m2,m2a-nofpu \ | |
44 m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only \ | |
45 m2e,m2a-single-only \ | |
46 m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \ | |
47 m4,m4-100,m4-200,m4-300,m4a \ | |
48 m5-32media,m5-compact,m5-32media \ | |
49 m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu; do \ | |
50 subst= ; \ | |
51 for lib in `echo $$abi|tr , ' '` ; do \ | |
52 if test "`echo $$multilibs|sed s/$$lib//`" != "$$multilibs"; then \ | |
53 subst=$$lib ; \ | |
54 elif test x$$subst != x ; then \ | |
55 echo $$subst=$$lib ; \ | |
56 fi \ | |
57 done \ | |
58 done) | |
59 | |
60 # SH1 only supports big endian. | |
61 MULTILIB_EXCEPTIONS = ml/m1 ml/m2a* | |
62 | |
63 LIBGCC = stmp-multilib | |
64 INSTALL_LIBGCC = install-multilib | |
65 | |
66 $(T)crt1.o: $(srcdir)/config/sh/crt1.asm $(GCC_PASSES) | |
67 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o -x assembler-with-cpp $(srcdir)/config/sh/crt1.asm | |
68 $(T)crti.o: $(srcdir)/config/sh/crti.asm $(GCC_PASSES) | |
69 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sh/crti.asm | |
70 $(T)crtn.o: $(srcdir)/config/sh/crtn.asm $(GCC_PASSES) | |
71 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sh/crtn.asm | |
72 | |
73 $(out_object_file): gt-sh.h | |
74 gt-sh.h : s-gtype ; @true | |
75 | |
76 # These are not suitable for COFF. | |
77 # EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o | |
78 | |
79 IC_EXTRA_PARTS= libic_invalidate_array_4-100.a libic_invalidate_array_4-200.a \ | |
80 libic_invalidate_array_4a.a | |
81 OPT_EXTRA_PARTS= libgcc-Os-4-200.a libgcc-4-300.a | |
82 EXTRA_MULTILIB_PARTS= $(IC_EXTRA_PARTS) $(OPT_EXTRA_PARTS) | |
83 | |
84 $(T)ic_invalidate_array_4-100.o: $(srcdir)/config/sh/lib1funcs.asm $(GCC_PASSES) | |
85 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)ic_invalidate_array_4-100.o -DL_ic_invalidate_array -DWAYS=1 -DWAY_SIZE=0x2000 -x assembler-with-cpp $(srcdir)/config/sh/lib1funcs.asm | |
86 $(T)libic_invalidate_array_4-100.a: $(T)ic_invalidate_array_4-100.o $(GCC_PASSES) | |
87 $(AR_CREATE_FOR_TARGET) $(T)libic_invalidate_array_4-100.a $(T)ic_invalidate_array_4-100.o | |
88 | |
89 $(T)ic_invalidate_array_4-200.o: $(srcdir)/config/sh/lib1funcs.asm $(GCC_PASSES) | |
90 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)ic_invalidate_array_4-200.o -DL_ic_invalidate_array -DWAYS=2 -DWAY_SIZE=0x2000 -x assembler-with-cpp $(srcdir)/config/sh/lib1funcs.asm | |
91 $(T)libic_invalidate_array_4-200.a: $(T)ic_invalidate_array_4-200.o $(GCC_PASSES) | |
92 $(AR_CREATE_FOR_TARGET) $(T)libic_invalidate_array_4-200.a $(T)ic_invalidate_array_4-200.o | |
93 | |
94 $(T)ic_invalidate_array_4a.o: $(srcdir)/config/sh/lib1funcs.asm $(GCC_PASSES) | |
95 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)ic_invalidate_array_4a.o -DL_ic_invalidate_array -D__FORCE_SH4A__ -x assembler-with-cpp $(srcdir)/config/sh/lib1funcs.asm | |
96 $(T)libic_invalidate_array_4a.a: $(T)ic_invalidate_array_4a.o $(GCC_PASSES) | |
97 $(AR_CREATE_FOR_TARGET) $(T)libic_invalidate_array_4a.a $(T)ic_invalidate_array_4a.o | |
98 | |
99 $(T)sdivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.asm $(GCC_PASSES) | |
100 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $@ -DL_sdivsi3_i4i -x assembler-with-cpp $< | |
101 $(T)udivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.asm $(GCC_PASSES) | |
102 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $@ -DL_udivsi3_i4i -x assembler-with-cpp $< | |
103 $(T)unwind-dw2-Os-4-200.o: $(srcdir)/unwind-dw2.c $(srcdir)/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h $(CONFIG_H) coretypes.h $(TM_H) $(MACHMODE_H) longlong.h config.status stmp-int-hdrs tsystem.h $(GCC_PASSES) | |
104 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) $(LIBGCC2_CFLAGS) $(INCLUDES) $(vis_hide) -fexceptions -Os -c -o $@ $< | |
105 OBJS_Os_4_200=$(T)sdivsi3_i4i-Os-4-200.o $(T)udivsi3_i4i-Os-4-200.o $(T)unwind-dw2-Os-4-200.o | |
106 $(T)libgcc-Os-4-200.a: $(OBJS_Os_4_200) $(GCC_PASSES) | |
107 $(AR_CREATE_FOR_TARGET) $@ $(OBJS_Os_4_200) | |
108 | |
109 $(T)div_table-4-300.o: $(srcdir)/config/sh/lib1funcs-4-300.asm $(GCC_PASSES) | |
110 $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $@ -DL_div_table -x assembler-with-cpp $< | |
111 | |
112 $(T)libgcc-4-300.a: $(T)div_table-4-300.o $(GCC_PASSES) | |
113 $(AR_CREATE_FOR_TARGET) $@ $(T)div_table-4-300.o | |
114 | |
115 # Local Variables: | |
116 # mode: Makefile | |
117 # End: |