| ## Copyright (C) 2014-2025 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/>. | |
| ACLOCAL_AMFLAGS = -I .. -I ../config | |
| gcc_build_dir = ../gcc | |
| AM_CPPFLAGS = -I $(srcdir)/../include -I $(srcdir)/../libgcc \ | |
| -I $(gcc_build_dir) -I$(srcdir)/../gcc $($@_CPPFLAGS) $(GMPINC) \ | |
| -I $(srcdir)/../gcc/c-family -I $(srcdir)/../libcpp/include | |
| CPPFLAGS_FOR_C = -I $(srcdir)/../gcc/c | |
| CPPFLAGS_FOR_CXX = -I $(srcdir)/../gcc/cp | |
| AM_CXXFLAGS = $(WARN_FLAGS) $(WERROR) $(visibility) $(CET_HOST_FLAGS) | |
| if DARWIN_DYNAMIC_LOOKUP | |
| AM_CXXFLAGS += -Wl,-undefined,dynamic_lookup | |
| endif | |
| override CXXFLAGS := $(subst -mdynamic-no-pic,-fPIC,$(CXXFLAGS)) | |
| override CXXFLAGS := $(filter-out -fsanitize=address,$(CXXFLAGS)) | |
| override LDFLAGS := $(filter-out -fsanitize=address,$(LDFLAGS)) | |
| # Can be simplified when libiberty becomes a normal convenience library. | |
| libiberty_normal = ../libiberty/libiberty.a | |
| libiberty_noasan = ../libiberty/noasan/libiberty.a | |
| libiberty_pic = ../libiberty/pic/libiberty.a | |
| Wc=-Wc, | |
| libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ | |
| $(if $(wildcard $(libiberty_pic)),$(Wc)$(libiberty_pic), \ | |
| $(Wc)$(libiberty_normal))) | |
| libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) | |
| plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin | |
| cc1libdir = $(libdir)/$(libsuffix) | |
| if ENABLE_PLUGIN | |
| plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la | |
| cc1lib_LTLIBRARIES = libcc1.la | |
| endif | |
| shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ | |
| marshall.cc marshall.hh rpc.hh status.hh | |
| marshall_cxx_source = marshall-cp.hh | |
| libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym | |
| libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \ | |
| $(shared_source) | |
| libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C) | |
| libcc1plugin_la_LIBADD = $(libiberty) | |
| libcc1plugin_la_DEPENDENCIES = $(libiberty_dep) | |
| libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ | |
| $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ | |
| $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ | |
| libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym | |
| libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \ | |
| $(shared_source) $(marshall_cxx_source) | |
| libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX) | |
| libcp1plugin_la_LIBADD = $(libiberty) | |
| libcp1plugin_la_DEPENDENCIES = $(libiberty_dep) | |
| libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ | |
| $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ | |
| $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@ | |
| LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) | |
| libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym | |
| libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \ | |
| compiler.cc compiler.hh names.cc names.hh $(shared_source) \ | |
| $(marshall_cxx_source) | |
| libcc1_la_LIBADD = $(libiberty) | |
| libcc1_la_DEPENDENCIES = $(libiberty_dep) | |
| libcc1_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ | |
| $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ | |
| $(CXXFLAGS) $(libcc1_la_LDFLAGS) $(LTLDFLAGS) -o $@ |