aboutsummaryrefslogtreecommitdiff
path: root/gcc/Makefile.in
diff options
context:
space:
mode:
authorKelley Cook <kcook@gcc.gnu.org>2004-01-15 04:02:24 +0000
committerR. Kelley Cook <kcook@gcc.gnu.org>2004-01-15 04:02:24 +0000
commit03787dfd815361040684ba2b4dab504968730201 (patch)
treeee011f5091b62b8a6163fe4051e3b30fb83b3941 /gcc/Makefile.in
parent04ab46a41dc1618a0bf9cb8d21ef8cb50046e747 (diff)
downloadgcc-03787dfd815361040684ba2b4dab504968730201.zip
gcc-03787dfd815361040684ba2b4dab504968730201.tar.gz
gcc-03787dfd815361040684ba2b4dab504968730201.tar.bz2
re PR bootstrap/12744 (A GCC release tarball can no longer be built without bison/flex)
gcc/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. gcc/ada/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in (ada.srcextra): Dummy entry. gcc/cp/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in (c++.srcextra): Dummy entry. gcc/f/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in (f77.srcextra): Dummy entry. gcc/java/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in (parse.c, parse-scan.c): Always build in doc directory. (java.srcextra): Copy above back to source directory if requested. (po-generated): Delete reference to $(parsedir). (java/parse.o, java/parse-scan.o): Delete reference to $(parsedir). Use implicit rule. gcc/treelang/ 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in (TREE_GENERATED): Delete reference to $(parsedir). (treelang/parse.o, treelang/lex.o): Look for sources in build directory. Use implicit rule. (treelang/parse.c, treelang/parse.h treelang/lex.c): Always build in doc directory. (treelang.srcextra): Copy above back to source directory if requested. From-SVN: r75903
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r--gcc/Makefile.in68
1 files changed, 23 insertions, 45 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 4d81b6d..d90e441 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -41,8 +41,9 @@ force:
# to recursive makes.
MAKEOVERRIDES =
-# Suppress smart makes who think they know how to automake Yacc files
+# Suppress smart makes who think they know how to automake yacc and flex file
.y.c:
+.l.c:
# The only suffixes we want for implicit rules are .c and .o, so clear
# the list and add them. This speeds up GNU Make, and allows -r to work.
@@ -70,11 +71,6 @@ program_transform_name = @program_transform_name@
# Directory where sources are, from where we are.
srcdir = @srcdir@
-
-# These directories contain files that are provided as part of a FSF tarball,
-# but not provided in CVS. Unless --enable-generated-files-in-srcdir is
-# specified these files will be put in the object directory.
-parsedir = @parsedir@
docobjdir = @docobjdir@
docdir = $(srcdir)/doc
@@ -1058,7 +1054,7 @@ all.cross: native gcc-cross cpp$(exeext) specs \
$(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc
# This is what must be made before installing GCC and converting libraries.
start.encap: native xgcc$(exeext) cpp$(exeext) specs \
- xlimits.h lang.start.encap
+ xlimits.h lang.start.encap @GENINSRC@ srcextra lang.srcextra
# These can't be made until after GCC can run.
rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
# This is what is made with the host's compiler
@@ -1270,28 +1266,21 @@ s-crt0: $(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H)
c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) flags.h $(DIAGNOSTIC_H) $(TM_P_H)
-c-parse.o : $(parsedir)/c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
+c-parse.o : c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(GGC_H) intl.h $(C_TREE_H) input.h flags.h toplev.h output.h $(CPPLIB_H) \
varray.h gt-c-parse.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- -c $(parsedir)/c-parse.c $(OUTPUT_OPTION)
-$(parsedir)/c-parse.c: $(parsedir)/c-parse.y
- cd $(parsedir) && \
- if $(BISON) $(BISONFLAGS) -o c-p$$$$.c c-parse.y; then \
- test -f c-p$$$$.output && mv -f c-p$$$$.output c-parse.output ; \
- mv -f c-p$$$$.c c-parse.c ; \
- else \
- rm -f c-p$$$$.* ; \
- false ; \
- fi
+srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
+ -cp -p $^ $(srcdir)
+
+c-parse.c: c-parse.y
+ -$(BISON) $(BISONFLAGS) -o $@ $<
-$(parsedir)/c-parse.y: c-parse.in
+c-parse.y: c-parse.in
echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
- -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" \
- $(srcdir)/c-parse.in >>tmp-c-parse.y
- $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $(parsedir)/c-parse.y
+ -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y
+ $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $@
c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
intl.h prefix.h coretypes.h $(TM_H) cppdefault.h
@@ -2237,32 +2226,21 @@ gengtype$(build_exeext) : gengtype.o gengtype-lex.o gengtype-yacc.o \
gengtype.o : gengtype.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
real.h $(RTL_BASE_H) gtyp-gen.h
-gengtype-lex.o : $(parsedir)/gengtype-lex.c gengtype.h $(parsedir)/gengtype-yacc.c \
+gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \
$(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H)
$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/gengtype-lex.c $(OUTPUT_OPTION)
+ $< $(OUTPUT_OPTION)
-gengtype-yacc.o : $(parsedir)/gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
+gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
coretypes.h $(GTM_H)
$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/gengtype-yacc.c $(OUTPUT_OPTION)
+ $< $(OUTPUT_OPTION)
-$(parsedir)/gengtype-lex.c : $(srcdir)/gengtype-lex.l
- if $(FLEX) $(FLEXFLAGS) -og-$$$$ $(srcdir)/gengtype-lex.l; then \
- mv -f g-$$$$ $(parsedir)/gengtype-lex.c ; \
- else \
- rm -f g-$$$$ ; \
- false ; \
- fi
+gengtype-lex.c : gengtype-lex.l
+ -$(FLEX) $(FLEXFLAGS) -o$@ $<
-$(parsedir)/gengtype-yacc.c: $(srcdir)/gengtype-yacc.y
- if $(BISON) $(BISONFLAGS) -d -o g-yacc.$$$$.c $(srcdir)/gengtype-yacc.y; then \
- mv -f g-yacc.$$$$.h $(parsedir)/gengtype-yacc.h; \
- mv -f g-yacc.$$$$.c $(parsedir)/gengtype-yacc.c; \
- else \
- rm -f g-yacc.$$$$.*; \
- false; \
- fi
+gengtype-yacc.c gengtype-yacc.h: gengtype-yacc.y
+ -$(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c $<
genconditions$(build_exeext) : genconditions.o $(BUILD_EARLY_SUPPORT) \
$(BUILD_RTL) $(BUILD_ERRORS) $(BUILD_LIBDEPS)
@@ -2327,7 +2305,7 @@ intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile
# Make-lang.in should add dependencies of po-generated on any generated
# files which need to be scanned by gettext (usually Yacc-generated parsers).
-po-generated: $(parsedir)/c-parse.c options.c
+po-generated: c-parse.c options.c
#
# Remake cpp and protoize.
@@ -2820,7 +2798,7 @@ distclean: clean lang.distclean
-rm -f Makefile *.oaux
-rm -f gthr-default.h
-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
- -rm -f c-parse.output
+ -rm -f c-parse.y c-parse.c c-parse.output TAGS */TAGS
-rm -f *.asm
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
-rm -f testsuite/*.log testsuite/*.sum
@@ -2841,7 +2819,7 @@ maintainer-clean:
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
$(MAKE) lang.maintainer-clean distclean
- -rm -f c-parse.y c-parse.c c-parse.output TAGS
+ -rm -f $(srcdir)/c-parse.y $(srcdir)/c-parse.c
-rm -f cpp.??s cpp.*aux
-rm -f gcc.??s gcc.*aux
-rm -f $(docobjdir)/cpp.info* $(docobjdir)/gcc.info* $(docobjdir)/gccint.info*