* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
[official-gcc.git] / gcc / ch / Make-lang.in
bloba45d9cd00adbf8d14561ce81ddefab9fec816b35
1 # Top level Makefile fragment for GNU CHILL.
2 #   Copyright (C) 1994, 1998, 2000 Free Software Foundation, Inc.
4 #This file is part of GNU CC.
6 #GNU CC 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 2, or (at your option)
9 #any later version.
11 #GNU CC 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 GNU CC; see the file COPYING.  If not, write to
18 #the Free Software Foundation, 59 Temple Place - Suite 330,
19 #Boston, MA 02111-1307, USA.  */
21 # This file provides the language dependent support in the main Makefile.
22 # Each language makefile fragment must provide the following targets:
24 # foo.all.build, foo.all.cross, foo.start.encap, foo.rest.encap,
25 # foo.info, foo.dvi,
26 # foo.install-normal, foo.install-common, foo.install-info, foo.install-man,
27 # foo.uninstall,
28 # foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
29 # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
31 # where `foo' is the name of the language.
33 # It should also provide rules for:
35 # - making any compiler driver (eg: g++)
36 # - the compiler proper (eg: cc1plus)
37 # - define the names for selecting the language in LANGUAGES.
38 #\f
39 # define version of GNUCHILL compiler. Note: maybe we have to change the
40 # mechanism
41 GNUCHILL_VERSION = 1.5.2
43 # Actual names to use when installing a native compiler.
44 # (Cygnus configure overrides these when using -program-transform-name).
45 CHILL_INSTALL_NAME = chill
47 # Actual names to use when installing a cross-compiler.
48 # (Cygnus configure overrides these when using -program-transform-name).
49 CHILL_CROSS_NAME = $(target_alias)-chill
51 CHILL_SRCS = $(srcdir)/ch/actions.c $(srcdir)/ch/convert.c \
52  $(srcdir)/ch/decl.c $(srcdir)/ch/except.c $(srcdir)/ch/expr.c \
53  $(srcdir)/ch/grant.c $(srcdir)/ch/inout.c $(srcdir)/ch/lang.c \
54  $(srcdir)/ch/lex.c $(srcdir)/ch/loop.c \
55  $(srcdir)/ch/parse.c $(srcdir)/ch/satisfy.c \
56  $(srcdir)/ch/tasking.c $(srcdir)/ch/timing.c $(srcdir)/ch/tree.c \
57  $(srcdir)/ch/typeck.c
59 # Extra flags to pass to recursive makes.
60 CHILL_FLAGS_TO_PASS = \
61         "CHILLFLAGS=$(CHILLFLAGS)" \
62         "CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
63         "CHILL_LIB=$(CHILL_LIB)" \
64         "GNUCHILL_VERSION=$(GNUCHILL_VERSION)"
65 #\f
66 # Define the names for selecting languages in LANGUAGES.
67 CHILL: chill cc1chill$(exeext)
69 # handle startfile in chill script and build script to install
70 chill: $(srcdir)/ch/chill.in Makefile
71         thisdir=`pwd` ; \
72         sed -e "s:startfile=chillrt0:startfile=$${thisdir}/ch/runtime/chillrt0.o:" \
73             -e "s:libpath=chillrt:libpath=-L$${thisdir}/ch/runtime/:" \
74             -e "s:whatgcc=gcc:whatgcc=\"$${thisdir}/xgcc$(exeext) -B$${thisdir}/\":" \
75             -e "s:gnuchill_version=unknown:gnuchill_version=$(GNUCHILL_VERSION):" \
76             -e "s:gnuchill_script_flags=:gnuchill_script_flags=\"$(GNUCHILL_SCRIPT_FLAGS)\":" $(srcdir)/ch/chill.in > chill ; \
77         chmod a+x chill ; \
78         if [ -f ../gcc-cross$(exeext) ]; then \
79           whatgcc=$(GCC_CROSS_NAME) ; \
80         else \
81           whatgcc=$(GCC_INSTALL_NAME) ; \
82         fi; \
83         sed -e "s:startfile=chillrt0:startfile=$(libsubdir)/chillrt0.o:" \
84             -e "s:whatgcc=gcc:whatgcc=$(bindir)/$${whatgcc}:" \
85             -e "s:gnuchill_version=unknown:gnuchill_version=$(GNUCHILL_VERSION):" \
86             -e "s:libpath=chillrt:libpath=:" \
87             -e "s:gnuchill_script_flags=:gnuchill_script_flags=\"$(GNUCHILL_SCRIPT_FLAGS)\":" $(srcdir)/ch/chill.in > chill.install ; \
88         chmod a+x chill.install
90 # Don't depend on cc1chill$(exeext), because chill-cross is always built for cross,
91 # and thus a cc1chill$(exeext) dependence would force cc1chill$(exeext) to always be built.
92 # Note that gcc-cross and g++-cross do not have cc1 or cc1plus dependencies.
93 chill-cross: $(srcdir)/ch/chill.in
94         touch $@
96 cc1chill$(exeext): $(P) $(CHILL_SRCS) $(LIBDEPS) $(BACKEND) \
97         insn-config.h insn-flags.h insn-attr.h insn-codes.h \
98         attribs.o c-typeck.o c-aux-info.o c-common.o \
99         ggc-callbacks.o
100         cd ch; $(MAKE) $(LANG_FLAGS_TO_PASS) $(CHILL_FLAGS_TO_PASS) ../cc1chill$(exeext)
103 # Build hooks:
105 CHILL.all.build: chill
106 CHILL.all.cross: chill-cross
107 CHILL.start.encap: chill
108 CHILL.rest.encap:
109 CHILL.dvi: ch/chill.dvi
110 CHILL.generated-manpages:
112 CHILL.info: $(srcdir)/ch/chill.info
114 $(srcdir)/ch/chill.info: $(srcdir)/ch/chill.texi
115         cd $(srcdir)/ch && $(MAKEINFO) -o chill.info chill.texi
117 ch/chill.dvi: $(srcdir)/ch/chill.texi
118         s=`cd $(srcdir); pwd`; export s; \
119         cd ch && $(TEXI2DVI) $$s/ch/chill.texi
122 # Install hooks:
123 # cc1chill is installed elsewhere as part of $(COMPILERS).
125 CHILL.install-normal:
127 # Install the driver program
128 CHILL.install-common: installdirs
129         -if [ -f cc1chill$(exeext) ] ; then \
130           if [ -f chill.install ] ; then \
131             if [ -f gcc-cross$(exeext) ]; then \
132               rm -f $(bindir)/$(CHILL_CROSS_NAME); \
133               $(INSTALL_SCRIPT) chill.install $(bindir)/$(CHILL_CROSS_NAME); \
134               chmod a+x $(bindir)/$(CHILL_CROSS_NAME); \
135             else \
136               rm -f $(bindir)/$(CHILL_INSTALL_NAME); \
137               $(INSTALL_SCRIPT) chill.install $(bindir)/$(CHILL_INSTALL_NAME); \
138               chmod a+x $(bindir)/$(CHILL_INSTALL_NAME); \
139             fi ; \
140           fi ; \
141         fi
143 # Don't delete $(infodir)/ch.info* unless there's actually new
144 # docs to install (in case LANGUAGES didn't contain chill earlier).
145 CHILL.install-info: installdirs
146         -cd $(srcdir)/ch; for i in chill.info*; do \
147           rm -f $(infodir)/chill.info*; \
148           realfile=`echo $$i | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
149           $(INSTALL_DATA) $$i $(infodir)/$$realfile; \
150         done
152 CHILL.install-man:
154 CHILL.uninstall:
155         -rm -rf $(bindir)/$(CHILL_INSTALL_NAME)
156         -rm -rf $(bindir)/$(CHILL_CROSS_NAME)
158 # Clean hooks:
159 # A lot of the ancillary files are deleted by the main makefile.
160 # We just have to delete files specific to us.
162 CHILL.mostlyclean:
163         -rm -f chill.install ch/*.o ch/ch-version.c
164 CHILL.clean:
165 CHILL.distclean:
166         -rm -f ch/config.status ch/Makefile
167 CHILL.extraclean:
168 CHILL.maintainer-clean:
169         -rm -f ch/TAGS
170         -rm -f $(srcdir)/ch/chill.info* ch/chill.dvi ch/chill.??s ch/chill.*aux
171 # Delete locally created file.
172         -rm -f ch/hash.h
174 # Stage hooks:
175 # The main makefile has already created stage?/ch.
177 CHILL.stage1: stage1-start
178         -mv ch/*.o stage1/ch
179 CHILL.stage2: stage2-start
180         -mv ch/*.o stage2/ch
181 CHILL.stage3: stage3-start
182         -mv ch/*.o stage3/ch
183 CHILL.stage4: stage4-start
184         -mv ch/*.o stage4/ch