1 # Top level -*- makefile -*- fragment for LTO
3 # Free Software Foundation, Inc.
5 #This file is part of GCC.
7 #GCC is free software; you can redistribute it and/or modify
8 #it under the terms of the GNU General Public License as published by
9 #the Free Software Foundation; either version 3, or (at your option)
12 #GCC is distributed in the hope that it will be useful,
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with GCC; see the file COPYING3. If not see
19 # <http://www.gnu.org/licenses/>.
23 # The name of the LTO compiler.
24 LTO_EXE = lto1$(exeext)
25 # The LTO-specific object files inclued in $(LTO_EXE).
26 LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-elf.o attribs.o
27 LTO_H = lto/lto.h $(HASHTAB_H)
28 LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
29 LTO_TREE_H = lto/lto-tree.h $(LINKER_PLUGIN_API_H)
34 # These hooks are used by the main GCC Makefile. Consult that
35 # Makefile for documentation.
36 lto.all.cross: $(LTO_EXE)
37 lto.start.encap: $(LTO_EXE)
56 rm -f $(LTO_OBJS) $(LTO_EXE)
70 # Use strict warnings for this front end.
71 lto-warn = $(STRICT_WARN)
73 $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
74 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
75 $(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS) -lelf
78 lto/lto-lang.o: lto/lto-lang.c $(CONFIG_H) coretypes.h debug.h \
79 flags.h $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(SYSTEM_H) \
80 $(TARGET_H) $(LTO_H) $(GIMPLE_H) gtype-lto.h gt-lto-lto-lang.h \
82 lto/lto.o: lto/lto.c $(CONFIG_H) $(SYSTEM_H) coretypes.h opts.h \
83 toplev.h $(TREE_H) $(DIAGNOSTIC_H) $(TM_H) $(LIBIBERTY_H) \
84 $(CGRAPH_H) $(GGC_H) tree-ssa-operands.h $(TREE_PASS_H) \
85 langhooks.h vec.h $(BITMAP_H) pointer-set.h $(IPA_PROP_H) \
86 $(COMMON_H) $(TIMEVAR_H) $(GIMPLE_H) $(LTO_H) $(LTO_TREE_H) \
87 $(LTO_TAGS_H) $(LTO_STREAMER_H)
88 lto/lto-elf.o: lto/lto-elf.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
89 toplev.h $(LTO_H) $(TM_H) $(LIBIBERTY_H) $(GGC_H) $(LTO_STREAMER_H)