[arm] Move some generated files out of the source tree
[gcc.git] / gcc / config / arm / t-arm
1 # Rules common to all arm targets
2 #
3 # Copyright (C) 2004-2017 Free Software Foundation, Inc.
4 #
5 # This file is part of GCC.
6 #
7 # GCC is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3, or (at your option)
10 # any later version.
11 #
12 # GCC is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public 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 TM_H += arm-cpu.h
22
23 # All md files - except for arm.md.
24 # This list should be kept in alphabetical order and updated whenever an md
25 # file is added or removed.
26 MD_INCLUDES= $(srcdir)/config/arm/arm1020e.md \
27 $(srcdir)/config/arm/arm1026ejs.md \
28 $(srcdir)/config/arm/arm1136jfs.md \
29 $(srcdir)/config/arm/arm926ejs.md \
30 $(srcdir)/config/arm/arm-fixed.md \
31 $(srcdir)/config/arm/arm-generic.md \
32 $(srcdir)/config/arm/arm-tune.md \
33 $(srcdir)/config/arm/constraints.md \
34 $(srcdir)/config/arm/cortex-a15.md \
35 $(srcdir)/config/arm/cortex-a5.md \
36 $(srcdir)/config/arm/cortex-a7.md \
37 $(srcdir)/config/arm/cortex-a8.md \
38 $(srcdir)/config/arm/cortex-a8-neon.md \
39 $(srcdir)/config/arm/cortex-a9.md \
40 $(srcdir)/config/arm/cortex-a9-neon.md \
41 $(srcdir)/config/arm/cortex-a53.md \
42 $(srcdir)/config/arm/xgene1.md \
43 $(srcdir)/config/arm/cortex-m4-fpu.md \
44 $(srcdir)/config/arm/cortex-m4.md \
45 $(srcdir)/config/arm/cortex-r4f.md \
46 $(srcdir)/config/arm/cortex-r4.md \
47 $(srcdir)/config/arm/fa526.md \
48 $(srcdir)/config/arm/fa606te.md \
49 $(srcdir)/config/arm/fa626te.md \
50 $(srcdir)/config/arm/fa726te.md \
51 $(srcdir)/config/arm/fmp626.md \
52 $(srcdir)/config/arm/iterators.md \
53 $(srcdir)/config/arm/iwmmxt.md \
54 $(srcdir)/config/arm/iwmmxt2.md \
55 $(srcdir)/config/arm/ldmstm.md \
56 $(srcdir)/config/arm/ldrdstrd.md \
57 $(srcdir)/config/arm/marvell-f-iwmmxt.md \
58 $(srcdir)/config/arm/neon.md \
59 $(srcdir)/config/arm/predicates.md \
60 $(srcdir)/config/arm/sync.md \
61 $(srcdir)/config/arm/thumb2.md \
62 $(srcdir)/config/arm/vec-common.md \
63 $(srcdir)/config/arm/vfp11.md \
64 $(srcdir)/config/arm/vfp.md
65
66 s-config s-conditions s-flags s-codes s-constants s-emit s-recog s-preds \
67 s-opinit s-extract s-peep s-attr s-attrtab s-output: $(MD_INCLUDES)
68
69 $(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/parsecpu.awk \
70 $(srcdir)/config/arm/arm-cpus.in
71 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=md \
72 $(srcdir)/config/arm/arm-cpus.in > arm-tune.new
73 mv arm-tune.new $(srcdir)/config/arm/arm-tune.md
74
75 $(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \
76 $(srcdir)/config/arm/arm-cpus.in
77 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \
78 $(srcdir)/config/arm/arm-cpus.in > arm-tables.new
79 mv arm-tables.new $(srcdir)/config/arm/arm-tables.opt
80
81 arm-cpu.h: s-arm-cpu ; @true
82 s-arm-cpu: $(srcdir)/config/arm/parsecpu.awk \
83 $(srcdir)/config/arm/arm-cpus.in
84 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=headers \
85 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu.h
86 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu.h arm-cpu.h
87 $(STAMP) s-arm-cpu
88
89 arm-cpu-data.h: s-arm-data ; @true
90 s-arm-data: $(srcdir)/config/arm/parsecpu.awk \
91 $(srcdir)/config/arm/arm-cpus.in
92 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=data \
93 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-data.h
94 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-data.h arm-cpu-data.h
95 $(STAMP) s-arm-data
96
97 arm-cpu-cdata.h: s-arm-cdata ; @true
98 s-arm-cdata: $(srcdir)/config/arm/parsecpu.awk \
99 $(srcdir)/config/arm/arm-cpus.in
100 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=common-data \
101 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-cdata.h
102 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-cdata.h arm-cpu-cdata.h
103 $(STAMP) s-arm-cdata
104
105 aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
106 coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
107 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
108 $(srcdir)/config/arm/aarch-common.c
109
110 arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
111 $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
112 insn-config.h conditions.h output.h dumpfile.h \
113 $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
114 $(EXPR_H) $(OPTABS_H) $(RECOG_H) $(CGRAPH_H) \
115 $(GGC_H) except.h $(C_PRAGMA_H) $(TM_P_H) \
116 $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
117 intl.h libfuncs.h $(PARAMS_H) $(OPTS_H) sched-int.h \
118 arm-cpu-data.h \
119 $(srcdir)/config/arm/arm-protos.h \
120 $(srcdir)/config/arm/arm_neon_builtins.def \
121 $(srcdir)/config/arm/arm_vfp_builtins.def
122
123 arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \
124 $(SYSTEM_H) coretypes.h $(TM_H) \
125 $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
126 $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
127 $(srcdir)/config/arm/arm-protos.h \
128 $(srcdir)/config/arm/arm_neon_builtins.def \
129 $(srcdir)/config/arm/arm_vfp_builtins.def \
130 $(srcdir)/config/arm/arm-simd-builtin-types.def
131 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
132 $(srcdir)/config/arm/arm-builtins.c
133
134 arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \
135 coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
136 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
137 $(srcdir)/config/arm/arm-c.c
138
139 arm-common.o: arm-cpu-cdata.h