]> git.ipfire.org Git - thirdparty/gcc.git/blame - libcc1/Makefile.am
gcc/cp/
[thirdparty/gcc.git] / libcc1 / Makefile.am
CommitLineData
6d191b11 1## Copyright (C) 2014-2017 Free Software Foundation, Inc.
ab103e33 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
61d3674f 20gcc_build_dir = ../gcc
ab103e33 21AM_CPPFLAGS = -I $(srcdir)/../include -I $(srcdir)/../libgcc \
37af486a 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
ced11600 27AM_CXXFLAGS = $(WARN_FLAGS) $(WERROR) $(visibility)
6b01e63b 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))
ab103e33 39
40plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
41cc1libdir = $(libdir)/$(libsuffix)
42
43if ENABLE_PLUGIN
37af486a 44plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
ab103e33 45cc1lib_LTLIBRARIES = libcc1.la
46endif
47
37af486a 48BUILT_SOURCES = c-compiler-name.h cp-compiler-name.h
49MOSTLYCLEANFILES = c-compiler-name.h cp-compiler-name.h
ab103e33 50
51# Put this in a header so we don't run sed for each compilation. This
52# is also simpler to debug as one can easily see the constant.
37af486a 53# FIXME: compute it in configure.ac and output it in config.status, or
54# introduce timestamp files for some indirection to avoid rebuilding it
55# every time.
56c-compiler-name.h: Makefile
57 -rm -f $@T
58 echo "#define C_COMPILER_NAME \"`echo gcc | sed '$(transform)'`\"" > $@T
59 mv $@T $@ # $(SHELL) $(srcdir)/../move-if-change $@T $@
ab103e33 60
37af486a 61cp-compiler-name.h: Makefile
62 -rm -f $@T
63 echo "#define CP_COMPILER_NAME \"`echo g++ | sed '$(transform)'`\"" > $@T
64 mv $@T $@ # $(SHELL) $(srcdir)/../move-if-change $@T $@
ab103e33 65
66shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
67 marshall.cc marshall.hh rpc.hh status.hh
68
37af486a 69marshall_c_source = marshall-c.hh
70marshall_cxx_source = marshall-cp.hh
71
ab103e33 72libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
37af486a 73libcc1plugin_la_SOURCES = libcc1plugin.cc $(shared_source) $(marshall_c_source)
74libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
ab103e33 75libcc1plugin_la_LIBADD = $(libiberty)
6b01e63b 76libcc1plugin_la_DEPENDENCIES = $(libiberty_dep)
77libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
78 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
79 $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
ab103e33 80
37af486a 81libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
82libcp1plugin_la_SOURCES = libcp1plugin.cc $(shared_source) $(marshall_cxx_source)
83libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
84libcp1plugin_la_LIBADD = $(libiberty)
85libcp1plugin_la_DEPENDENCIES = $(libiberty_dep)
86libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
87 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
88 $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
89
6b01e63b 90LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
ab103e33 91libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
37af486a 92libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
93 names.cc names.hh $(shared_source) \
94 $(marshall_c_source) $(marshall_cxx_source)
ab103e33 95libcc1_la_LIBADD = $(libiberty)
6b01e63b 96libcc1_la_DEPENDENCIES = $(libiberty_dep)
97libcc1_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
98 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
99 $(CXXFLAGS) $(libcc1_la_LDFLAGS) $(LTLDFLAGS) -o $@