1## Copyright (C) 2014-2020 Free Software Foundation, Inc. 2 3## This file is part of GCC. 4 5## GCC is free software; you can redistribute it and/or modify it under 6## the terms of the GNU General Public License as published by the Free 7## Software Foundation; either version 3, or (at your option) any later 8## version. 9 10## GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11## WARRANTY; without even the implied warranty of MERCHANTABILITY or 12## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13## for more details. 14 15## You should have received a copy of the GNU General Public License 16## along with GCC; see the file COPYING3. If not see 17## <http://www.gnu.org/licenses/>. 18 19ACLOCAL_AMFLAGS = -I .. -I ../config 20gcc_build_dir = ../gcc 21AM_CPPFLAGS = -I $(srcdir)/../include -I $(srcdir)/../libgcc \ 22 -I $(gcc_build_dir) -I$(srcdir)/../gcc $($@_CPPFLAGS) $(GMPINC) 23CPPFLAGS_FOR_C_FAMILY = -I $(srcdir)/../gcc/c-family \ 24 -I $(srcdir)/../libcpp/include 25CPPFLAGS_FOR_C = $(CPPFLAGS_FOR_C_FAMILY) -I $(srcdir)/../gcc/c 26CPPFLAGS_FOR_CXX = $(CPPFLAGS_FOR_C_FAMILY) -I $(srcdir)/../gcc/cp 27AM_CXXFLAGS = $(WARN_FLAGS) $(WERROR) $(visibility) 28override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS)) 29override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS)) 30# Can be simplified when libiberty becomes a normal convenience library. 31libiberty_normal = ../libiberty/libiberty.a 32libiberty_noasan = ../libiberty/noasan/libiberty.a 33libiberty_pic = ../libiberty/pic/libiberty.a 34Wc=-Wc, 35libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ 36 $(if $(wildcard $(libiberty_pic)),$(Wc)$(libiberty_pic), \ 37 $(Wc)$(libiberty_normal))) 38libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) 39 40plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin 41cc1libdir = $(libdir)/$(libsuffix) 42 43if ENABLE_PLUGIN 44plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la 45cc1lib_LTLIBRARIES = libcc1.la 46endif 47 48shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ 49 marshall.cc marshall.hh rpc.hh status.hh 50 51marshall_c_source = marshall-c.hh 52marshall_cxx_source = marshall-cp.hh 53 54libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym 55libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source) 56libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C) 57libcc1plugin_la_LIBADD = $(libiberty) 58libcc1plugin_la_DEPENDENCIES = $(libiberty_dep) 59libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ 60 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 61 $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ 62 63libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym 64libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source) 65libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX) 66libcp1plugin_la_LIBADD = $(libiberty) 67libcp1plugin_la_DEPENDENCIES = $(libiberty_dep) 68libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ 69 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 70 $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ 71 72LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) 73libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym 74libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \ 75 names.cc names.hh $(shared_source) \ 76 $(marshall_c_source) $(marshall_cxx_source) 77libcc1_la_LIBADD = $(libiberty) 78libcc1_la_DEPENDENCIES = $(libiberty_dep) 79libcc1_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ 80 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 81 $(CXXFLAGS) $(libcc1_la_LDFLAGS) $(LTLDFLAGS) -o $@ 82