xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/lto/Make-lang.in (revision a24efa7dea9f1f56c3bdb15a927d3516792ace1c)
1# Top level -*- makefile -*- fragment for LTO
2#   Copyright (C) 2009-2013 Free Software Foundation, Inc.
3
4#This file is part of GCC.
5
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)
9#any later version.
10
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.
15
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/>.
19
20# Variables
21
22# The name of the LTO compiler.
23LTO_EXE = lto1$(exeext)
24# The LTO-specific object files inclued in $(LTO_EXE).
25LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o
26LTO_H = lto/lto.h $(HASHTAB_H)
27LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
28LTO_TREE_H = lto/lto-tree.h $(LINKER_PLUGIN_API_H)
29
30
31# Rules
32
33# These hooks are used by the main GCC Makefile.  Consult that
34# Makefile for documentation.
35lto.all.cross: $(LTO_EXE)
36lto.start.encap: $(LTO_EXE)
37lto.rest.encap:
38lto.tags:
39lto.install-common:
40lto.install-man:
41lto.install-info:
42lto.dvi:
43lto.pdf:
44lto.install-pdf:
45lto.html:
46lto.install-html:
47lto.uninstall:
48lto.info:
49lto.man:
50lto.srcextra:
51lto.srcman:
52lto.srcinfo:
53lto.install-plugin:
54
55lto.mostlyclean:
56	rm -f $(LTO_OBJS) $(LTO_EXE)
57
58lto.clean:
59lto.distclean:
60lto.maintainer-clean:
61lto.stage1:
62lto.stage2:
63lto.stage3:
64lto.stage4:
65lto.stageprofile:
66lto.stagefeedback:
67
68# LTO rules.
69
70# Use strict warnings for this front end.
71lto-warn = $(STRICT_WARN)
72
73$(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
74	+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
75		$(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS)
76
77# Dependencies
78lto/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 \
81	$(EXPR_H) $(LTO_STREAMER_H)
82lto/lto.o: lto/lto.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(OPTS_H) \
83	toplev.h $(TREE_H) $(TREE_FLOW_H) $(DIAGNOSTIC_CORE_H) $(TM_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) debug.h $(GIMPLE_H) $(LTO_H) $(LTO_TREE_H) \
87	$(LTO_TAGS_H) $(LTO_STREAMER_H) $(SPLAY_TREE_H) gt-lto-lto.h \
88	$(TREE_STREAMER_H) lto/lto-partition.h
89lto/lto-partition.o: lto/lto-partition.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
90	toplev.h $(TREE_H) $(TM_H) \
91	$(CGRAPH_H) $(TIMEVAR_H) \
92	$(LTO_STREAMER_H) $(SPLAY_TREE_H) gt-lto-lto.h $(PARAMS_H) \
93	ipa-inline.h $(IPA_UTILS_H) lto/lto-partition.h
94lto/lto-object.o: lto/lto-object.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
95	$(DIAGNOSTIC_CORE_H) $(LTO_H) $(TM_H) $(LTO_STREAMER_H) \
96	../include/simple-object.h
97
98# LTO testing is done as part of C/C++/Fortran etc. testing.
99check-lto:
100