| # General rules that all rs6000/ targets must have. |
| # |
| # Copyright (C) 1995-2021 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 |
| # <http://www.gnu.org/licenses/>. |
| |
| TM_H += $(srcdir)/config/rs6000/rs6000-builtin.def |
| 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 += $(srcdir)/config/rs6000/rs6000-builtin-new.def |
| |
| rs6000-pcrel-opt.o: $(srcdir)/config/rs6000/rs6000-pcrel-opt.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-string.o: $(srcdir)/config/rs6000/rs6000-string.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-p8swap.o: $(srcdir)/config/rs6000/rs6000-p8swap.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c |
| build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c |
| |
| 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.c rs6000-builtins.h rs6000-vecdefines.h &: <deps> |
| # <recipe> |
| # For now, the header files depend on rs6000-builtins.c, which avoids |
| # races because the .c file is closed last in rs6000-gen-builtins.c. |
| rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \ |
| $(srcdir)/config/rs6000/rs6000-builtin-new.def \ |
| $(srcdir)/config/rs6000/rs6000-overload.def |
| $(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \ |
| $(srcdir)/config/rs6000/rs6000-builtin-new.def \ |
| $(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \ |
| rs6000-builtins.c rs6000-vecdefines.h |
| |
| rs6000-builtins.h: rs6000-builtins.c |
| |
| rs6000.o: rs6000-builtins.h |
| |
| EXTRA_HEADERS += rs6000-vecdefines.h |
| rs6000-vecdefines.h: rs6000-builtins.c |
| |
| rs6000-builtins.o: rs6000-builtins.c |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-call.o: $(srcdir)/config/rs6000/rs6000-call.c rs6000-builtins.h |
| $(COMPILE) $< |
| $(POSTCOMPILE) |
| |
| rs6000-c.o: $(srcdir)/config/rs6000/rs6000-c.c 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 |