#
# It should also provide rules for:
#
-# - making any compiler driver (eg: GCC)
-# - the compiler proper (eg: treelang)
+# - making any compiler driver (eg: gcc)
+# - the compiler proper (eg: tree1)
# - define the names for selecting the language in LANGUAGES.
#\f
# GCC_FOR_TREELANG = ./xgcc $(GCC_EXTRAS)
TREE_GENERATED = lex.c parse.c parse.h parse.output
-TREE_EXES = tree1
+# We need to use something other than treelang here because the directory
+# is called treelang
+TREE_EXES = gtreelang
#strict warnings for treelang
treelang-warn = $(STRICT_WARN)
treelang TREELANG:treelang.done
-treelang.done: tree1$(exeext)
+treelang.done: gtreelang$(exeext) tree1$(exeext)
$(STAMP) treelang.done
# no preprocessor
treelang/lex.o treelang/parse.o \
$(BACKEND) $(LIBS) attribs.o
+# Create the compiler driver treelang.
+gtreelang$(exeext): gcc.o version.o prefix.o intl.o $(EXTRA_GCC_OBJS) \
+ $(LIBDEPS) treelang/spec.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ treelang/spec.o \
+ gcc.o version.o prefix.o intl.o $(EXTRA_GCC_OBJS) $(LIBS)
+
+
+
#\f
# Compiling object files from source files.
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/spec.o: treelang/spec.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h diagnostic.h $(TREE_H) flags.h toplev.h langhooks.h $(TM_H)
+
treelang/parse.o: treelang/parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) diagnostic.h treelang/treelang.h input.h treelang/treetree.h
--- /dev/null
+/* Specific flags and argument handling of the Treelang front-end.
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+#include "config.h"
+#include "system.h"
+#include "gcc.h"
+
+#include "coretypes.h"
+#include "tm.h"
+
+const struct spec_function lang_specific_spec_functions[] = {{0,0}};
+
+void
+lang_specific_driver (int *in_argc, const char *const **in_argv,
+ int *in_added_libraries ATTRIBUTE_UNUSED)
+{
+ int argc = *in_argc, i;
+ const char *const *argv = *in_argv;
+
+ for (i = 1; i < argc; ++i)
+ {
+ if (!strcmp (argv[i], "-fversion")) /* Really --version!! */
+ {
+ printf ("\
+GNU Treelang (GCC %s)\n\
+Copyright (C) 2005 Free Software Foundation, Inc.\n\
+\n\
+GNU Treelang comes with NO WARRANTY, to the extent permitted by law.\n\
+You may redistribute copies of GNU Treelang\n\
+under the terms of the GNU General Public License.\n\
+For more information about these matters, see the file named COPYING\n\
+", version_string);
+ exit (0);
+ }
+ }
+}
+
+/* Called before linking. Returns 0 on success and -1 on failure. */
+int
+lang_specific_pre_link (void) /* Not used for Treelang. */
+{
+ return 0;
+}
+
+/* Number of extra output files that lang_specific_pre_link may generate. */
+int lang_specific_extra_outfiles = 0; /* Not used for Treelang. */