+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.
+
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
# 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.
# 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
$(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
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
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)
# 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
#\f
# Remake cpp and protoize.
-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
@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*
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (ada.srcextra): Dummy entry.
+
2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
ada.start.encap:
ada.rest.encap:
+ada.srcextra:
ada.tags: force
cd $(srcdir)/ada; etags -o TAGS.sub *.c *.h *.ads *.adb; \
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP GNATBIND ac_ct_GNATBIND strict1_warn warn_cflags WERROR nocommon_flag EGREP valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO libgcc_visibility gthread_flags GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir docobjdir parsedir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext host_extra_gcc_objs host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure symbolic_link thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines target_noncanonical c_target_objs cxx_target_objs target_cpu_default LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP GNATBIND ac_ct_GNATBIND strict1_warn warn_cflags WERROR nocommon_flag EGREP valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO libgcc_visibility gthread_flags GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir docobjdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext host_extra_gcc_objs host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure symbolic_link thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines target_noncanonical c_target_objs cxx_target_objs target_cpu_default LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks'
# Initialize some variables set by options.
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-generated-files-in-srcdir Put generated files in source dir
+ --enable-generated-files-in-srcdir
+ put copies of generated files in source dir
+ intended for creating source tarballs for users
+ without texinfo bison or flex.
--enable-werror enable -Werror in bootstrap stage2 and later
--enable-checking=LIST
enable expensive run-time checks. With LIST,
# sources. Therefore we have --enable-generated-files-in-srcdir to do
# just that.
-# Check whether --enable-generated-files-in-srcdir or --disable-generated-files-in-srcdir was given.
+echo "$as_me:$LINENO: checking whether to place generated files in the source directory" >&5
+echo $ECHO_N "checking whether to place generated files in the source directory... $ECHO_C" >&6
+ # Check whether --enable-generated-files-in-srcdir or --disable-generated-files-in-srcdir was given.
if test "${enable_generated_files_in_srcdir+set}" = set; then
enableval="$enable_generated_files_in_srcdir"
- case ${enableval} in
- no) parsedir='$(objdir)'; docobjdir='$(objdir)/doc';;
- *) parsedir='$(srcdir)'; docobjdir='$(srcdir)/doc';;
-esac
+ generated_files_in_srcdir=$enableval
else
- parsedir='$(objdir)'; docobjdir='$(objdir)/doc';
+ generated_files_in_srcdir=no
fi;
+echo "$as_me:$LINENO: result: $generated_files_in_srcdir" >&5
+echo "${ECHO_T}$generated_files_in_srcdir" >&6
+
+if test "$generated_files_in_srcdir" = "yes"; then
+ GENINSRC=''
+ docobjdir='$(srcdir)/doc'
+else
+ GENINSRC='#'
+ docobjdir='$(objdir)/doc'
+fi
+
+
# -------------------
# Find default linker
# -------------------
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
- echo "configure:4988: version of makeinfo is $ac_prog_version" >&5
+ echo "configure:5002: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)
touch Make-hooks
target_list="all.build all.cross start.encap rest.encap tags \
install-normal install-common install-man \
- uninstall \
+ uninstall srcextra \
mostlyclean clean distclean maintainer-clean \
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
for t in $target_list
-
# Echo link setup.
s,@build_subdir@,$build_subdir,;t t
s,@host_subdir@,$host_subdir,;t t
s,@target_subdir@,$target_subdir,;t t
+s,@GENINSRC@,$GENINSRC,;t t
s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t
s,@LDFLAGS@,$LDFLAGS,;t t
s,@subdirs@,$subdirs,;t t
s,@srcdir@,$srcdir,;t t
s,@docobjdir@,$docobjdir,;t t
-s,@parsedir@,$parsedir,;t t
s,@all_boot_languages@,$all_boot_languages,;t t
s,@all_compilers@,$all_compilers,;t t
s,@all_gtfiles@,$all_gtfiles,;t t
# sources. Therefore we have --enable-generated-files-in-srcdir to do
# just that.
-AC_ARG_ENABLE(generated-files-in-srcdir,
-[ --enable-generated-files-in-srcdir Put generated files in source dir],
-[case ${enableval} in
- no) parsedir='$(objdir)'; docobjdir='$(objdir)/doc';;
- *) parsedir='$(srcdir)'; docobjdir='$(srcdir)/doc';;
-esac],
-[parsedir='$(objdir)'; docobjdir='$(objdir)/doc';])
+AC_MSG_CHECKING([whether to place generated files in the source directory])
+ dnl generated-files-in-srcdir is disabled by default
+ AC_ARG_ENABLE(generated-files-in-srcdir,
+[ --enable-generated-files-in-srcdir
+ put copies of generated files in source dir
+ intended for creating source tarballs for users
+ without texinfo bison or flex.],
+ generated_files_in_srcdir=$enableval,
+ generated_files_in_srcdir=no)
+
+AC_MSG_RESULT($generated_files_in_srcdir)
+
+if test "$generated_files_in_srcdir" = "yes"; then
+ GENINSRC=''
+ docobjdir='$(srcdir)/doc'
+else
+ GENINSRC='#'
+ docobjdir='$(objdir)/doc'
+fi
+AC_SUBST(GENINSRC)
# -------------------
# Find default linker
touch Make-hooks
target_list="all.build all.cross start.encap rest.encap tags \
install-normal install-common install-man \
- uninstall \
+ uninstall srcextra \
mostlyclean clean distclean maintainer-clean \
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
for t in $target_list
AC_SUBST(subdirs)
AC_SUBST(srcdir)
AC_SUBST(docobjdir)
-AC_SUBST(parsedir)
AC_SUBST(all_boot_languages)
AC_SUBST(all_compilers)
AC_SUBST(all_gtfiles)
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (c++.srcextra): Dummy entry.
+
2004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
PR c++/8856
c++.all.cross: g++-cross$(exeext)
c++.start.encap: g++$(exeext)
c++.rest.encap:
+c++.srcextra:
c++.tags: force
cd $(srcdir)/cp; etags -o TAGS.sub *.c *.h --language=none \
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (f77.srcextra): Dummy entry.
+
2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
PR fortran/6491
f77.all.cross: g77-cross$(exeext)
f77.start.encap: g77$(exeext)
f77.rest.encap:
+f77.srcextra:
f77.tags: force
cd $(srcdir)/f; etags -o TAGS.sub *.c *.h; \
+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.
+
2004-01-14 Jan Hubicka <jh@suse.cz>
* lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
-rm -f $(GCJ)-cross$(exeext)
cp $(GCJ)$(exeext) $(GCJ)-cross$(exeext)
-po-generated: $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c
+po-generated: java/parse.c java/parse-scan.c
-$(parsedir)/java/parse.c: $(srcdir)/java/parse.y
- $(BISON) -t --name-prefix=java_ $(BISONFLAGS) \
- -o p$$$$.c $(srcdir)/java/parse.y && \
- mv -f p$$$$.c $(parsedir)/java/parse.c
+java.srcextra: java/parse.c java/parse-scan.c
+ -cp -p $^ $(srcdir)/java
-$(parsedir)/java/parse-scan.c: $(srcdir)/java/parse-scan.y
- $(BISON) -t $(BISONFLAGS) -o ps$$$$.c $(srcdir)/java/parse-scan.y && \
- mv -f ps$$$$.c $(parsedir)/java/parse-scan.c
+java/parse.c: java/parse.y
+ -$(BISON) -t --name-prefix=java_ $(BISONFLAGS) -o $@ $<
+
+java/parse-scan.c: java/parse-scan.y
+ -$(BISON) -t $(BISONFLAGS) -o $@ $<
$(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf
(cd $(srcdir)/java || exit 1; \
# We just have to delete files specific to us.
java.mostlyclean:
+ -rm -f java/parse.c java/parse-scan.c
-rm -f java/*$(objext) $(DEMANGLER_PROG)
-rm -f java/*$(coverageexts)
-rm -f jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext) s-java
java.clean:
java.distclean:
-rm -f java/config.status java/Makefile
- -rm -f java/parse.output
+ -rm -f java/parse.output java/y.tab.c
java.maintainer-clean:
- -rm -f $(parsedir)/java/parse.c $(parsedir)/java/parse-scan.c java/parse.output java/y.tab.c
-rm -f $(docobjdir)/gcj.1 $(docobjdir)/gcjh.1
-rm -f $(docobjdir)/jv-scan.1 $(docobjdir)/jcf-dump.1
-rm -f $(docobjdir)/gij.1
$(SYSTEM_H) coretypes.h $(TM_H)
java/zextract.o: java/zextract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
java/zipfile.h
-
-# parse-scan.o and parse.o compiled from $(parsedir)/java
-java/parse-scan.o: $(parsedir)/java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \
+java/parse-scan.o: java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) toplev.h $(JAVA_LEX_C) java/parse.h java/lex.h input.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/java/parse-scan.c $(OUTPUT_OPTION)
-
-java/parse.o: $(parsedir)/java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \
+java/parse.o: java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) function.h $(JAVA_TREE_H) $(JAVA_LEX_C) java/parse.h \
java/lex.h input.h $(GGC_H) debug.h gt-java-parse.h gtype-java.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/java/parse.c $(OUTPUT_OPTION)
# jcf-io.o needs $(ZLIBINC) added to cflags.
java/jcf-io.o: java/jcf-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) c-tree.h \
c-common.h toplev.h objc/objc-act.h langhooks.h $(LANGHOOKS_DEF_H)
-objc/objc-parse.o : $(parsedir)/objc/objc-parse.c \
+objc/objc-parse.o : objc/objc-parse.c \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
toplev.h $(GGC_H) c-pragma.h input.h flags.h output.h objc/objc-act.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/objc/objc-parse.c $(OUTPUT_OPTION)
objc/objc-act.o : objc/objc-act.c \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \
objc/objc-act.h input.h function.h output.h debug.h langhooks.h \
$(LANGHOOKS_DEF_H) gt-objc-objc-act.h gtype-objc.h
-po-generated: $(parsedir)/objc/objc-parse.c
-$(parsedir)/objc/objc-parse.c : $(parsedir)/objc/objc-parse.y
- cd $(parsedir)/objc; \
- if $(BISON) $(BISONFLAGS) -o op$$$$.c objc-parse.y ; then \
- test -f op$$$$.output && mv -f op$$$$.output objc-parse.output ; \
- mv -f op$$$$.c objc-parse.c ; \
- else \
- rm -f op$$$$.* ; \
- false ; \
- fi
-
-$(parsedir)/objc/objc-parse.y: $(srcdir)/c-parse.in
+po-generated: objc/objc-parse.c
+
+objc.srcextra: objc/objc-parse.c objc/objc-parse.y
+ -cp -p $^ $(srcdir)/objc
+
+objc/objc-parse.c : objc/objc-parse.y
+ -$(BISON) $(BISONFLAGS) -o $@ $<
+
+objc/objc-parse.y: c-parse.in
echo '/*WARNING: This file is automatically generated!*/' >tmp-objc-prs.y
sed -e "/^@@ifc.*/,/^@@end_ifc.*/d" \
- -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" \
- $(srcdir)/c-parse.in >>tmp-objc-prs.y
- $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $(parsedir)/objc/objc-parse.y
+ -e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" < $< >>tmp-objc-prs.y
+ $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $@
gtype-objc.h : s-gtype ; @true
gt-objc-objc-act.h : s-gtype ; @true
objc.mostlyclean:
-rm -f tmp-objc-prs.y
-rm -f objc/*$(objext) objc/xforward objc/fflags
+ -rm -f objc/objc-parse.y objc/objc-parse.c objc/objc-parse.output
-rm -f objc/*$(coverageexts)
objc.clean: objc.mostlyclean
-rm -rf objc-headers
-rm -f objc/config.status objc/config.cache
-rm -f objc-parse.output
objc.maintainer-clean:
- -rm -f $(parsedir)/objc/objc-parse.y
- -rm -f $(parsedir)/objc/objc-parse.c $(parsedir)/objc/objc-parse.output
+ -rm -f $(srcdir)/objc/objc-parse.y $(srcdir)/objc/objc-parse.c
#\f
# Stage hooks:
+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.
+
2004-01-07 Zack Weinberg <zack@codesourcery.com>
* parse.y (yyerror): Mark the definition static.
# GCC_FOR_TREELANG = ./xgcc $(GCC_EXTRAS)
-TREE_GENERATED = $(parsedir)/treelang/lex.c $(parsedir)/treelang/parse.c \
- $(parsedir)/treelang/parse.h $(parsedir)/treelang/parse.output \
- $(parsedir)/treelang/TAGS $(parsedir)/treelang/TAGS.sub
-
+TREE_GENERATED = lex.c parse.c parse.h parse.output
TREE_EXES = tree1
#no -Wtraditional warnings, allow long long
treelang/treetree.o: treelang/treetree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(TREE_H) flags.h output.h $(RTL_H) $(GGC_H) toplev.h \
varray.h $(LANGHOOKS_DEF_H) langhooks.h treelang/treelang.h input.h \
- treelang/treetree.h $(parsedir)/treelang/parse.h
+ treelang/treetree.h treelang/parse.h
treelang/tree-convert.o: treelang/tree-convert.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h diagnostic.h $(TREE_H) flags.h toplev.h langhooks.h $(TM_H)
-treelang/parse.o: $(parsedir)/treelang/parse.c $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TM_H) diagnostic.h treelang/treelang.h input.h \
- treelang/treetree.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/treelang/parse.c $(OUTPUT_OPTION)
+treelang/parse.o: treelang/parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ $(TM_H) diagnostic.h treelang/treelang.h input.h treelang/treetree.h
-treelang/lex.o: $(parsedir)/treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+treelang/lex.o: treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) diagnostic.h $(TREE_H) treelang/treelang.h input.h \
- $(parsedir)/treelang/parse.h
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(parsedir)/treelang/lex.c $(OUTPUT_OPTION)
+ treelang/parse.h
# generated files the files from lex and yacc are put into the source
# directory in case someone wants to build but does not have
# lex/yacc
-$(parsedir)/treelang/lex.c: $(srcdir)/treelang/lex.l
- $(LEX) $(LEXFLAGS) -o$(parsedir)/treelang/lex.c $(srcdir)/treelang/lex.l
+treelang.srcextra: treelang/parse.c treelang/parse.h treelang/lex.c
+ -cp -p $^ $(srcdir)/treelang
+
+treelang/lex.c: treelang/lex.l
+ -$(FLEX) $(FLEXFLAGS) -o$@ $<
-$(parsedir)/treelang/parse.c $(parsedir)/treelang/parse.h: $(srcdir)/treelang/parse.y
- $(BISON) $(BISONFLAGS) -v --defines \
- --output=$(parsedir)/treelang/parse.c $(srcdir)/treelang/parse.y
+treelang/parse.c treelang/parse.h treelang/parse.output: treelang/parse.y
+ -$(BISON) $(BISONFLAGS) -v --defines --output=treelang/parse.c $<
# -v