blob: 9c5cbda0070749fe47b79d245aca664e37f94fc8 [file] [log] [blame]
nvptx-c.o: $(srcdir)/config/nvptx/nvptx-c.cc
$(COMPILE) $<
$(POSTCOMPILE)
CFLAGS-mkoffload.o += $(DRIVER_DEFINES) \
-DGCC_INSTALL_NAME=\"$(GCC_INSTALL_NAME)\"
mkoffload.o: $(srcdir)/config/nvptx/mkoffload.cc
$(COMPILE) $<
$(POSTCOMPILE)
ALL_HOST_OBJS += mkoffload.o
mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBS)
$(srcdir)/config/nvptx/nvptx.h: $(srcdir)/config/nvptx/nvptx-gen.h
$(srcdir)/config/nvptx/nvptx-gen.h: s-nvptx-gen-h; @true
s-nvptx-gen-h: $(srcdir)/config/nvptx/nvptx-sm.def
$(SHELL) $(srcdir)/config/nvptx/gen-h.sh "$(srcdir)/config/nvptx" \
> tmp-nvptx-gen.h
$(SHELL) $(srcdir)/../move-if-change \
tmp-nvptx-gen.h $(srcdir)/config/nvptx/nvptx-gen.h
$(STAMP) s-nvptx-gen-h
$(srcdir)/config/nvptx/nvptx-gen.opt: s-nvptx-gen-opt; @true
s-nvptx-gen-opt: $(srcdir)/config/nvptx/nvptx-sm.def \
$(srcdir)/config/nvptx/gen-opt.sh
$(SHELL) $(srcdir)/config/nvptx/gen-opt.sh "$(srcdir)/config/nvptx" \
> tmp-nvptx-gen.opt
$(SHELL) $(srcdir)/../move-if-change \
tmp-nvptx-gen.opt $(srcdir)/config/nvptx/nvptx-gen.opt
$(STAMP) s-nvptx-gen-opt
# Multilib setup.
MULTILIB_OPTIONS =
MULTILIB_MATCHES =
MULTILIB_EXCEPTIONS =
MULTILIB_OPTIONS += mgomp
multilib_options_isa_list := $(TM_MULTILIB_CONFIG)
multilib_options_isa_default := $(word 1,$(multilib_options_isa_list))
multilib_options_misa_list := $(addprefix misa=,$(multilib_options_isa_list))
# Add the requested '-misa' variants as a multilib option ('misa=VAR1/misa=VAR2/misa=VAR3' etc.):
empty :=
space := $(empty) $(empty)
MULTILIB_OPTIONS += $(subst $(space),/,$(multilib_options_misa_list))
# ..., and remap '-misa' variants as appropriate:
multilib_matches := $(shell $(srcdir)/config/nvptx/gen-multilib-matches.sh $(srcdir)/config/nvptx $(multilib_options_isa_default) "$(multilib_options_isa_list)")
MULTILIB_MATCHES += $(multilib_matches)
# ..., and don't actually build what's the default '-misa':
MULTILIB_EXCEPTIONS += *misa=$(multilib_options_isa_default)*
MULTILIB_OPTIONS += mptx=3.1
# Filter out invalid '-misa'/'-mptx=3.1' combinations; per 'nvptx-sm.def',
# 'nvptx.opt:ptx_version', 'nvptx.cc:first_ptx_version_supporting_sm'
# (that is, '-mptx=3.1' only for sm_30, sm_35 variants):
MULTILIB_EXCEPTIONS += $(foreach misa,$(filter-out %=sm_30 %=sm_35,$(multilib_options_misa_list)),*$(misa)/mptx=3.1)
# ..., and special care has to be taken if '-mptx=3.1' is invalid for the
# default variant:
MULTILIB_EXCEPTIONS += $(if $(filter-out sm_30 sm_35,$(multilib_options_isa_default)),mgomp/mptx=3.1 mptx=3.1)