]>
Commit | Line | Data |
---|---|---|
9304f876 | 1 | # Rules of c-isr library stuff of Andes NDS32 cpu for GNU compiler |
818ab71a | 2 | # Copyright (C) 2012-2016 Free Software Foundation, Inc. |
9304f876 CJW |
3 | # Contributed by Andes Technology Corporation. |
4 | # | |
5 | # This file is part of GCC. | |
6 | # | |
7 | # GCC is free software; you can redistribute it and/or modify it | |
8 | # under the terms of the GNU General Public License as published | |
9 | # by the Free Software Foundation; either version 3, or (at your | |
10 | # option) any later version. | |
11 | # | |
12 | # GCC is distributed in the hope that it will be useful, but WITHOUT | |
13 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
14 | # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
15 | # License for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU General Public License | |
18 | # along with GCC; see the file COPYING3. If not see | |
19 | # <http://www.gnu.org/licenses/>. | |
20 | ||
21 | ||
22 | ############################################################################### | |
23 | # Makfile fragment rules for libnds32_isr.a to support ISR attribute extension | |
24 | ############################################################################### | |
25 | ||
26 | # basic flags setting | |
27 | ISR_CFLAGS = $(CFLAGS) -c | |
28 | ||
29 | # the object files we would like to create | |
30 | LIBNDS32_ISR_16B_OBJS = \ | |
31 | vec_vid00.o vec_vid01.o vec_vid02.o vec_vid03.o \ | |
32 | vec_vid04.o vec_vid05.o vec_vid06.o vec_vid07.o \ | |
33 | vec_vid08.o vec_vid09.o vec_vid10.o vec_vid11.o \ | |
34 | vec_vid12.o vec_vid13.o vec_vid14.o vec_vid15.o \ | |
35 | vec_vid16.o vec_vid17.o vec_vid18.o vec_vid19.o \ | |
36 | vec_vid20.o vec_vid21.o vec_vid22.o vec_vid23.o \ | |
37 | vec_vid24.o vec_vid25.o vec_vid26.o vec_vid27.o \ | |
38 | vec_vid28.o vec_vid29.o vec_vid30.o vec_vid31.o \ | |
39 | vec_vid32.o vec_vid33.o vec_vid34.o vec_vid35.o \ | |
40 | vec_vid36.o vec_vid37.o vec_vid38.o vec_vid39.o \ | |
41 | vec_vid40.o vec_vid41.o vec_vid42.o vec_vid43.o \ | |
42 | vec_vid44.o vec_vid45.o vec_vid46.o vec_vid47.o \ | |
43 | vec_vid48.o vec_vid49.o vec_vid50.o vec_vid51.o \ | |
44 | vec_vid52.o vec_vid53.o vec_vid54.o vec_vid55.o \ | |
45 | vec_vid56.o vec_vid57.o vec_vid58.o vec_vid59.o \ | |
46 | vec_vid60.o vec_vid61.o vec_vid62.o vec_vid63.o \ | |
47 | vec_vid64.o vec_vid65.o vec_vid66.o vec_vid67.o \ | |
48 | vec_vid68.o vec_vid69.o vec_vid70.o vec_vid71.o \ | |
49 | vec_vid72.o \ | |
50 | excp_isr_ps_nn.o excp_isr_ps_ns.o excp_isr_ps_nr.o \ | |
51 | excp_isr_sa_nn.o excp_isr_sa_ns.o excp_isr_sa_nr.o \ | |
52 | intr_isr_ps_nn.o intr_isr_ps_ns.o intr_isr_ps_nr.o \ | |
53 | intr_isr_sa_nn.o intr_isr_sa_ns.o intr_isr_sa_nr.o \ | |
54 | reset.o | |
55 | ||
56 | LIBNDS32_ISR_4B_OBJS = \ | |
57 | vec_vid00_4b.o vec_vid01_4b.o vec_vid02_4b.o vec_vid03_4b.o \ | |
58 | vec_vid04_4b.o vec_vid05_4b.o vec_vid06_4b.o vec_vid07_4b.o \ | |
59 | vec_vid08_4b.o vec_vid09_4b.o vec_vid10_4b.o vec_vid11_4b.o \ | |
60 | vec_vid12_4b.o vec_vid13_4b.o vec_vid14_4b.o vec_vid15_4b.o \ | |
61 | vec_vid16_4b.o vec_vid17_4b.o vec_vid18_4b.o vec_vid19_4b.o \ | |
62 | vec_vid20_4b.o vec_vid21_4b.o vec_vid22_4b.o vec_vid23_4b.o \ | |
63 | vec_vid24_4b.o vec_vid25_4b.o vec_vid26_4b.o vec_vid27_4b.o \ | |
64 | vec_vid28_4b.o vec_vid29_4b.o vec_vid30_4b.o vec_vid31_4b.o \ | |
65 | vec_vid32_4b.o vec_vid33_4b.o vec_vid34_4b.o vec_vid35_4b.o \ | |
66 | vec_vid36_4b.o vec_vid37_4b.o vec_vid38_4b.o vec_vid39_4b.o \ | |
67 | vec_vid40_4b.o vec_vid41_4b.o vec_vid42_4b.o vec_vid43_4b.o \ | |
68 | vec_vid44_4b.o vec_vid45_4b.o vec_vid46_4b.o vec_vid47_4b.o \ | |
69 | vec_vid48_4b.o vec_vid49_4b.o vec_vid50_4b.o vec_vid51_4b.o \ | |
70 | vec_vid52_4b.o vec_vid53_4b.o vec_vid54_4b.o vec_vid55_4b.o \ | |
71 | vec_vid56_4b.o vec_vid57_4b.o vec_vid58_4b.o vec_vid59_4b.o \ | |
72 | vec_vid60_4b.o vec_vid61_4b.o vec_vid62_4b.o vec_vid63_4b.o \ | |
73 | vec_vid64_4b.o vec_vid65_4b.o vec_vid66_4b.o vec_vid67_4b.o \ | |
74 | vec_vid68_4b.o vec_vid69_4b.o vec_vid70_4b.o vec_vid71_4b.o \ | |
75 | vec_vid72_4b.o \ | |
76 | excp_isr_ps_nn_4b.o excp_isr_ps_ns_4b.o excp_isr_ps_nr_4b.o \ | |
77 | excp_isr_sa_nn_4b.o excp_isr_sa_ns_4b.o excp_isr_sa_nr_4b.o \ | |
78 | intr_isr_ps_nn_4b.o intr_isr_ps_ns_4b.o intr_isr_ps_nr_4b.o \ | |
79 | intr_isr_sa_nn_4b.o intr_isr_sa_ns_4b.o intr_isr_sa_nr_4b.o \ | |
80 | reset_4b.o | |
81 | ||
82 | LIBNDS32_ISR_COMMON_OBJS = \ | |
83 | jmptbl_vid00.o jmptbl_vid01.o jmptbl_vid02.o jmptbl_vid03.o \ | |
84 | jmptbl_vid04.o jmptbl_vid05.o jmptbl_vid06.o jmptbl_vid07.o \ | |
85 | jmptbl_vid08.o jmptbl_vid09.o jmptbl_vid10.o jmptbl_vid11.o \ | |
86 | jmptbl_vid12.o jmptbl_vid13.o jmptbl_vid14.o jmptbl_vid15.o \ | |
87 | jmptbl_vid16.o jmptbl_vid17.o jmptbl_vid18.o jmptbl_vid19.o \ | |
88 | jmptbl_vid20.o jmptbl_vid21.o jmptbl_vid22.o jmptbl_vid23.o \ | |
89 | jmptbl_vid24.o jmptbl_vid25.o jmptbl_vid26.o jmptbl_vid27.o \ | |
90 | jmptbl_vid28.o jmptbl_vid29.o jmptbl_vid30.o jmptbl_vid31.o \ | |
91 | jmptbl_vid32.o jmptbl_vid33.o jmptbl_vid34.o jmptbl_vid35.o \ | |
92 | jmptbl_vid36.o jmptbl_vid37.o jmptbl_vid38.o jmptbl_vid39.o \ | |
93 | jmptbl_vid40.o jmptbl_vid41.o jmptbl_vid42.o jmptbl_vid43.o \ | |
94 | jmptbl_vid44.o jmptbl_vid45.o jmptbl_vid46.o jmptbl_vid47.o \ | |
95 | jmptbl_vid48.o jmptbl_vid49.o jmptbl_vid50.o jmptbl_vid51.o \ | |
96 | jmptbl_vid52.o jmptbl_vid53.o jmptbl_vid54.o jmptbl_vid55.o \ | |
97 | jmptbl_vid56.o jmptbl_vid57.o jmptbl_vid58.o jmptbl_vid59.o \ | |
98 | jmptbl_vid60.o jmptbl_vid61.o jmptbl_vid62.o jmptbl_vid63.o \ | |
99 | jmptbl_vid64.o jmptbl_vid65.o jmptbl_vid66.o jmptbl_vid67.o \ | |
100 | jmptbl_vid68.o jmptbl_vid69.o jmptbl_vid70.o jmptbl_vid71.o \ | |
101 | jmptbl_vid72.o \ | |
102 | nmih.o \ | |
103 | wrh.o | |
104 | ||
105 | LIBNDS32_ISR_COMPLETE_OBJS = $(LIBNDS32_ISR_16B_OBJS) $(LIBNDS32_ISR_4B_OBJS) $(LIBNDS32_ISR_COMMON_OBJS) | |
106 | ||
107 | ||
108 | # Build common objects for ISR library | |
109 | nmih.o: $(srcdir)/config/nds32/isr-library/nmih.S | |
110 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/nmih.S -o nmih.o | |
111 | ||
112 | wrh.o: $(srcdir)/config/nds32/isr-library/wrh.S | |
113 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/wrh.S -o wrh.o | |
114 | ||
115 | jmptbl_vid%.o: $(srcdir)/config/nds32/isr-library/jmptbl_vid%.S | |
116 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $< -o $@ | |
117 | ||
118 | ||
119 | ||
120 | # Build 16b version objects for ISR library. (no "_4b" postfix string) | |
121 | vec_vid%.o: $(srcdir)/config/nds32/isr-library/vec_vid%.S | |
122 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $< -o $@ | |
123 | ||
124 | excp_isr_ps_nn.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
125 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_ps_nn.o | |
126 | ||
127 | excp_isr_ps_ns.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
128 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_ps_ns.o | |
129 | ||
130 | excp_isr_ps_nr.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
131 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_ps_nr.o | |
132 | ||
133 | excp_isr_sa_nn.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
134 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_sa_nn.o | |
135 | ||
136 | excp_isr_sa_ns.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
137 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_sa_ns.o | |
138 | ||
139 | excp_isr_sa_nr.o: $(srcdir)/config/nds32/isr-library/excp_isr.S | |
140 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/excp_isr.S -o excp_isr_sa_nr.o | |
141 | ||
142 | intr_isr_ps_nn.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
143 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_ps_nn.o | |
144 | ||
145 | intr_isr_ps_ns.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
146 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_ps_ns.o | |
147 | ||
148 | intr_isr_ps_nr.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
149 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_ps_nr.o | |
150 | ||
151 | intr_isr_sa_nn.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
152 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_sa_nn.o | |
153 | ||
154 | intr_isr_sa_ns.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
155 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_sa_ns.o | |
156 | ||
157 | intr_isr_sa_nr.o: $(srcdir)/config/nds32/isr-library/intr_isr.S | |
158 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/intr_isr.S -o intr_isr_sa_nr.o | |
159 | ||
160 | reset.o: $(srcdir)/config/nds32/isr-library/reset.S | |
161 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/reset.S -o reset.o | |
162 | ||
163 | # Build 4b version objects for ISR library. | |
164 | vec_vid%_4b.o: $(srcdir)/config/nds32/isr-library/vec_vid%_4b.S | |
165 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $< -o $@ | |
166 | ||
167 | excp_isr_ps_nn_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
168 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_ps_nn_4b.o | |
169 | ||
170 | excp_isr_ps_ns_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
171 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_ps_ns_4b.o | |
172 | ||
173 | excp_isr_ps_nr_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
174 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_ps_nr_4b.o | |
175 | ||
176 | excp_isr_sa_nn_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
177 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_sa_nn_4b.o | |
178 | ||
179 | excp_isr_sa_ns_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
180 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_sa_ns_4b.o | |
181 | ||
182 | excp_isr_sa_nr_4b.o: $(srcdir)/config/nds32/isr-library/excp_isr_4b.S | |
183 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/excp_isr_4b.S -o excp_isr_sa_nr_4b.o | |
184 | ||
185 | intr_isr_ps_nn_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
186 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_ps_nn_4b.o | |
187 | ||
188 | intr_isr_ps_ns_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
189 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_ps_ns_4b.o | |
190 | ||
191 | intr_isr_ps_nr_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
192 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_ps_nr_4b.o | |
193 | ||
194 | intr_isr_sa_nn_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
195 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_sa_nn_4b.o | |
196 | ||
197 | intr_isr_sa_ns_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
198 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_sa_ns_4b.o | |
199 | ||
200 | intr_isr_sa_nr_4b.o: $(srcdir)/config/nds32/isr-library/intr_isr_4b.S | |
201 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) -DNDS32_SAVE_ALL_REGS -DNDS32_NESTED_READY $(srcdir)/config/nds32/isr-library/intr_isr_4b.S -o intr_isr_sa_nr_4b.o | |
202 | ||
203 | reset_4b.o: $(srcdir)/config/nds32/isr-library/reset_4b.S | |
204 | $(GCC_FOR_TARGET) $(ISR_CFLAGS) $(srcdir)/config/nds32/isr-library/reset_4b.S -o reset_4b.o | |
205 | ||
206 | ||
207 | # The rule to create libnds32_isr.a file | |
208 | libnds32_isr.a: $(LIBNDS32_ISR_COMPLETE_OBJS) | |
209 | $(AR) rc libnds32_isr.a $(LIBNDS32_ISR_COMPLETE_OBJS) | |
210 | ||
211 | ||
212 | # ------------------------------------------------------------------------ |