# General rules that all rs6000/ targets must have. # # Copyright (C) 1995-2022 Free Software Foundation, Inc. # # This file is part of GCC. # # GCC is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GCC is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GCC; see the file COPYING3. If not see # . TM_H += $(srcdir)/config/rs6000/rs6000-cpus.def TM_H += $(srcdir)/config/rs6000/rs6000-modes.h PASSES_EXTRA += $(srcdir)/config/rs6000/rs6000-passes.def EXTRA_GTYPE_DEPS += rs6000-builtins.h rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-builtin.o: $(srcdir)/config/rs6000/rs6000-builtin.cc $(COMPILE) $< $(POSTCOMPILE) build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.cc build/rbtree.o: $(srcdir)/config/rs6000/rbtree.cc build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \ build/rbtree.o $(BUILD_LIBDEPS) $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \ $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS) # TODO: Whenever GNU make 4.3 is the minimum required, we should use # grouped targets on this: # rs6000-builtins.cc rs6000-builtins.h rs6000-vecdefines.h &: # # For now, the header files depend on rs6000-builtins.cc, which avoids # races because the .c file is closed last in rs6000-gen-builtins.cc. rs6000-builtins.cc: build/rs6000-gen-builtins$(build_exeext) \ $(srcdir)/config/rs6000/rs6000-builtins.def \ $(srcdir)/config/rs6000/rs6000-overload.def $(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \ $(srcdir)/config/rs6000/rs6000-builtins.def \ $(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \ rs6000-builtins.cc rs6000-vecdefines.h rs6000-builtins.h: rs6000-builtins.cc rs6000.o: rs6000-builtins.h EXTRA_HEADERS += rs6000-vecdefines.h rs6000-vecdefines.h: rs6000-builtins.cc rs6000-builtins.o: rs6000-builtins.cc $(COMPILE) $< $(POSTCOMPILE) rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.cc rs6000-builtins.h $(COMPILE) $< $(POSTCOMPILE) rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.cc rs6000-builtins.h $(COMPILE) $< $(POSTCOMPILE) #$(srcdir)/config/rs6000/fusion.md: $(srcdir)/config/rs6000/genfusion.pl # $(srcdir)/config/rs6000/genfusion.pl > $(srcdir)/config/rs6000/fusion.md $(srcdir)/config/rs6000/rs6000-tables.opt: $(srcdir)/config/rs6000/genopt.sh \ $(srcdir)/config/rs6000/rs6000-cpus.def $(SHELL) $(srcdir)/config/rs6000/genopt.sh $(srcdir)/config/rs6000 > \ $(srcdir)/config/rs6000/rs6000-tables.opt # The rs6000 backend doesn't cause warnings in these files. insn-conditions.o-warn = MD_INCLUDES = $(srcdir)/config/rs6000/rs64.md \ $(srcdir)/config/rs6000/mpc.md \ $(srcdir)/config/rs6000/40x.md \ $(srcdir)/config/rs6000/440.md \ $(srcdir)/config/rs6000/601.md \ $(srcdir)/config/rs6000/603.md \ $(srcdir)/config/rs6000/6xx.md \ $(srcdir)/config/rs6000/7xx.md \ $(srcdir)/config/rs6000/7450.md \ $(srcdir)/config/rs6000/8540.md \ $(srcdir)/config/rs6000/e300c2c3.md \ $(srcdir)/config/rs6000/e500mc.md \ $(srcdir)/config/rs6000/power4.md \ $(srcdir)/config/rs6000/power5.md \ $(srcdir)/config/rs6000/power6.md \ $(srcdir)/config/rs6000/power7.md \ $(srcdir)/config/rs6000/power8.md \ $(srcdir)/config/rs6000/power9.md \ $(srcdir)/config/rs6000/power10.md \ $(srcdir)/config/rs6000/cell.md \ $(srcdir)/config/rs6000/a2.md \ $(srcdir)/config/rs6000/predicates.md \ $(srcdir)/config/rs6000/constraints.md \ $(srcdir)/config/rs6000/darwin.md \ $(srcdir)/config/rs6000/sync.md \ $(srcdir)/config/rs6000/vector.md \ $(srcdir)/config/rs6000/vsx.md \ $(srcdir)/config/rs6000/altivec.md \ $(srcdir)/config/rs6000/mma.md \ $(srcdir)/config/rs6000/crypto.md \ $(srcdir)/config/rs6000/htm.md \ $(srcdir)/config/rs6000/dfp.md \ $(srcdir)/config/rs6000/fusion.md \ $(srcdir)/config/rs6000/pcrel-opt.md