diff options
author | Kelley Cook <kcook@gcc.gnu.org> | 2004-01-15 04:02:24 +0000 |
---|---|---|
committer | R. Kelley Cook <kcook@gcc.gnu.org> | 2004-01-15 04:02:24 +0000 |
commit | 03787dfd815361040684ba2b4dab504968730201 (patch) | |
tree | ee011f5091b62b8a6163fe4051e3b30fb83b3941 /gcc/Makefile.in | |
parent | 04ab46a41dc1618a0bf9cb8d21ef8cb50046e747 (diff) | |
download | gcc-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.in | 68 |
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* |