1# Rules common to all arm targets 2# 3# Copyright (C) 2004-2020 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 21GTM_H += arm-cpu.h arm-isa.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. 26MD_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/mve.md \ 59 $(srcdir)/config/arm/neon.md \ 60 $(srcdir)/config/arm/predicates.md \ 61 $(srcdir)/config/arm/sync.md \ 62 $(srcdir)/config/arm/thumb2.md \ 63 $(srcdir)/config/arm/vec-common.md \ 64 $(srcdir)/config/arm/vfp11.md \ 65 $(srcdir)/config/arm/vfp.md 66 67s-config s-conditions s-flags s-codes s-constants s-emit s-recog s-preds \ 68 s-opinit s-extract s-peep s-attr s-attrtab s-output: $(MD_INCLUDES) 69 70$(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/parsecpu.awk \ 71 $(srcdir)/config/arm/arm-cpus.in 72 @echo "NOT REBUILDING $@" 73NetBSD_DISABLED_config_arm_arm-tune.md: 74 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=md \ 75 $(srcdir)/config/arm/arm-cpus.in > arm-tune.new 76 $(srcdir)/../move-if-change arm-tune.new \ 77 $(srcdir)/config/arm/arm-tune.md 78 79$(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \ 80 $(srcdir)/config/arm/arm-cpus.in 81 @echo "NOT REBUILDING $@" 82NetBSD_DISABLED_config_arm_arm-tables.opt: 83 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \ 84 $(srcdir)/config/arm/arm-cpus.in > arm-tables.new 85 $(srcdir)/../move-if-change arm-tables.new \ 86 $(srcdir)/config/arm/arm-tables.opt 87 88arm-cpu.h: s-arm-cpu ; @true 89s-arm-cpu: $(srcdir)/config/arm/parsecpu.awk \ 90 $(srcdir)/config/arm/arm-cpus.in 91 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=headers \ 92 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu.h 93 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu.h arm-cpu.h 94 $(STAMP) s-arm-cpu 95 96arm-isa.h: s-arm-isa ; @true 97s-arm-isa: $(srcdir)/config/arm/parsecpu.awk \ 98 $(srcdir)/config/arm/arm-cpus.in 99 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=isa \ 100 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-isa.h 101 $(SHELL) $(srcdir)/../move-if-change tmp-arm-isa.h arm-isa.h 102 $(STAMP) s-arm-isa 103 104arm-cpu-data.h: s-arm-data ; @true 105s-arm-data: $(srcdir)/config/arm/parsecpu.awk \ 106 $(srcdir)/config/arm/arm-cpus.in 107 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=data \ 108 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-data.h 109 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-data.h arm-cpu-data.h 110 $(STAMP) s-arm-data 111 112arm-cpu-cdata.h: s-arm-cdata ; @true 113s-arm-cdata: $(srcdir)/config/arm/parsecpu.awk \ 114 $(srcdir)/config/arm/arm-cpus.in 115 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=common-data \ 116 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-cdata.h 117 $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-cdata.h arm-cpu-cdata.h 118 $(STAMP) s-arm-cdata 119 120arm-native.h: s-arm-native ; @true 121s-arm-native: $(srcdir)/config/arm/parsecpu.awk \ 122 $(srcdir)/config/arm/arm-cpus.in 123 $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=native \ 124 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-native.h 125 $(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h 126 $(STAMP) s-arm-native 127 128aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \ 129 coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H) 130 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 131 $(srcdir)/config/arm/aarch-common.c 132 133arm.o: $(srcdir)/config/arm/arm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ 134 $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \ 135 insn-config.h conditions.h output.h dumpfile.h \ 136 $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \ 137 $(EXPR_H) $(OPTABS_H) $(RECOG_H) $(CGRAPH_H) \ 138 $(GGC_H) except.h $(C_PRAGMA_H) $(TM_P_H) \ 139 $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \ 140 intl.h libfuncs.h $(PARAMS_H) $(OPTS_H) sched-int.h \ 141 arm-cpu-data.h \ 142 $(srcdir)/config/arm/arm-protos.h \ 143 $(srcdir)/config/arm/arm_neon_builtins.def \ 144 $(srcdir)/config/arm/arm_vfp_builtins.def \ 145 $(srcdir)/config/arm/arm_mve_builtins.def 146 147arm-builtins.o: $(srcdir)/config/arm/arm-builtins.c $(CONFIG_H) \ 148 $(SYSTEM_H) coretypes.h $(TM_H) \ 149 $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \ 150 $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \ 151 $(srcdir)/config/arm/arm-protos.h \ 152 $(srcdir)/config/arm/arm_acle_builtins.def \ 153 $(srcdir)/config/arm/arm_neon_builtins.def \ 154 $(srcdir)/config/arm/arm_vfp_builtins.def \ 155 $(srcdir)/config/arm/arm_mve_builtins.def \ 156 $(srcdir)/config/arm/arm-simd-builtin-types.def 157 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 158 $(srcdir)/config/arm/arm-builtins.c 159 160arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \ 161 coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) 162 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 163 $(srcdir)/config/arm/arm-c.c 164 165arm-d.o: $(srcdir)/config/arm/arm-d.c 166 $(COMPILE) $< 167 $(POSTCOMPILE) 168 169arm-common.o: arm-cpu-cdata.h 170 171driver-arm.o: arm-native.h 172