1 # Top level -*- makefile -*- fragment for LTO
2 # Copyright (C) 2009-2016 Free Software Foundation, Inc.
4 #This file is part of GCC.
6 #GCC is free software; you can redistribute it and/or modify
7 #it under the terms of the GNU General Public License as published by
8 #the Free Software Foundation; either version 3, or (at your option)
11 #GCC is distributed in the hope that it will be useful,
12 #but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 #GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with GCC; see the file COPYING3. If not see
18 # <http://www.gnu.org/licenses/>.
22 # The name of the LTO compiler.
23 LTO_EXE = lto1$(exeext)
24 # The LTO-specific object files inclued in $(LTO_EXE).
25 LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o
26 lto_OBJS = $(LTO_OBJS)
30 # These hooks are used by the main GCC Makefile. Consult that
31 # Makefile for documentation.
32 lto.all.cross: $(LTO_EXE)
33 lto.start.encap: $(LTO_EXE)
53 rm -f $(LTO_OBJS) $(LTO_EXE)
67 # Use strict warnings for this front end.
68 lto-warn = $(STRICT_WARN)
70 $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
71 +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
72 $(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS)
74 # LTO testing is done as part of C/C++/Fortran etc. testing.