1 |
288 |
jeremybenn |
# Top level -*- makefile -*- fragment for LTO
|
2 |
|
|
# Copyright (C) 2009, 2010
|
3 |
|
|
# Free Software Foundation, Inc.
|
4 |
|
|
|
5 |
|
|
#This file is part of GCC.
|
6 |
|
|
|
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)
|
10 |
|
|
#any later version.
|
11 |
|
|
|
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.
|
16 |
|
|
|
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 |
|
|
# .
|
20 |
|
|
|
21 |
|
|
# Variables
|
22 |
|
|
|
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_BINARY_READER).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)
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
# Rules
|
33 |
|
|
|
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)
|
38 |
|
|
lto.rest.encap:
|
39 |
|
|
lto.tags:
|
40 |
|
|
lto.install-common:
|
41 |
|
|
lto.install-man:
|
42 |
|
|
lto.install-info:
|
43 |
|
|
lto.dvi:
|
44 |
|
|
lto.pdf:
|
45 |
|
|
lto.install-pdf:
|
46 |
|
|
lto.html:
|
47 |
|
|
lto.install-html:
|
48 |
|
|
lto.uninstall:
|
49 |
|
|
lto.info:
|
50 |
|
|
lto.man:
|
51 |
|
|
lto.srcextra:
|
52 |
|
|
lto.srcman:
|
53 |
|
|
lto.srcinfo:
|
54 |
|
|
lto.install-plugin:
|
55 |
|
|
|
56 |
|
|
lto.mostlyclean:
|
57 |
|
|
rm -f $(LTO_OBJS) $(LTO_EXE)
|
58 |
|
|
|
59 |
|
|
lto.clean:
|
60 |
|
|
lto.distclean:
|
61 |
|
|
lto.maintainer-clean:
|
62 |
|
|
lto.stage1:
|
63 |
|
|
lto.stage2:
|
64 |
|
|
lto.stage3:
|
65 |
|
|
lto.stage4:
|
66 |
|
|
lto.stageprofile:
|
67 |
|
|
lto.stagefeedback:
|
68 |
|
|
|
69 |
|
|
# LTO rules.
|
70 |
|
|
|
71 |
|
|
# Use strict warnings for this front end.
|
72 |
|
|
lto-warn = $(STRICT_WARN)
|
73 |
|
|
|
74 |
|
|
$(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
|
75 |
|
|
$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
|
76 |
|
|
$(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS) $(LTO_USE_LIBELF)
|
77 |
|
|
|
78 |
|
|
# Dependencies
|
79 |
|
|
lto/lto-lang.o: lto/lto-lang.c $(CONFIG_H) coretypes.h debug.h \
|
80 |
|
|
flags.h $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(SYSTEM_H) \
|
81 |
|
|
$(TARGET_H) $(LTO_H) $(GIMPLE_H) gtype-lto.h gt-lto-lto-lang.h \
|
82 |
|
|
$(EXPR_H)
|
83 |
|
|
lto/lto.o: lto/lto.c $(CONFIG_H) $(SYSTEM_H) coretypes.h opts.h \
|
84 |
|
|
toplev.h $(TREE_H) $(DIAGNOSTIC_H) $(TM_H) $(LIBIBERTY_H) \
|
85 |
|
|
$(CGRAPH_H) $(GGC_H) tree-ssa-operands.h $(TREE_PASS_H) \
|
86 |
|
|
langhooks.h vec.h $(BITMAP_H) pointer-set.h $(IPA_PROP_H) \
|
87 |
|
|
$(COMMON_H) $(TIMEVAR_H) $(GIMPLE_H) $(LTO_H) $(LTO_TREE_H) \
|
88 |
|
|
$(LTO_TAGS_H) $(LTO_STREAMER_H)
|
89 |
|
|
lto/lto-elf.o: lto/lto-elf.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
|
90 |
|
|
toplev.h $(LTO_H) $(TM_H) $(LIBIBERTY_H) $(GGC_H) $(LTO_STREAMER_H)
|
91 |
|
|
lto/lto-coff.o: lto/lto-coff.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
|
92 |
|
|
toplev.h $(LTO_H) $(TM_H) $(LIBIBERTY_H) $(GGC_H) $(LTO_STREAMER_H) \
|
93 |
|
|
lto/lto-coff.h
|
94 |
|
|
lto/lto-macho.o: lto/lto-macho.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
|
95 |
|
|
toplev.h $(LTO_H) $(TM_H) $(LIBIBERTY_H) $(GGC_H) $(LTO_STREAMER_H) \
|
96 |
|
|
lto/lto-macho.h lto/lto-endian.h
|