URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [treelang/] [Make-lang.in] - Rev 816
Compare with Previous | Blame | View Log
# Top level makefile fragment for TREELANG For GCC. -*- makefile -*-# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005,# 2006, 2007 Free Software Foundation, Inc.#This file is part of GCC.#GCC 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 3, or (at your option)#any later version.#GCC 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 GCC; see the file COPYING3. If not see#<http://www.gnu.org/licenses/>.# This file provides the language dependent support in the main Makefile.# Each language makefile fragment must provide the following targets:## foo.all.cross, foo.start.encap, foo.rest.encap,# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf# foo.html, foo.uninstall,# foo.mostlyclean, foo.clean, foo.distclean,# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4## where `foo' is the name of the language.## It should also provide rules for:## - making any compiler driver (eg: gcc)# - the compiler proper (eg: tree1)# - define the names for selecting the language in LANGUAGES.### note program-prefix and program-suffix options are not supported## just program_transform_name which is a sed script to transform the## namesTREELANGSED = sedTREELANGSEDFLAGS = -nGCC_EXTRAS = -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include# ./xgcc is the just built compiler. See GCC_FOR_TARGET in the GCC Makefile.in.# If this can't be found, you probably have not done a bootstrap of GCC,# which you need to do.# GCC_FOR_TREELANG = ./xgcc $(GCC_EXTRAS)TREE_GENERATED = lex.c parse.c parse.h parse.output# We need to use something other than treelang here because the directory# is called treelangTREE_EXES = gtreelang#strict warnings for treelangtreelang-warn = $(STRICT_WARN)# bison emits some unused static arrays (yytoknum)treelang/parse.o-warn = -Wno-error# flex produces 'no previous prototype' warningstreelang/lex.o-warn = -Wno-error## Define the names for selecting treelang in LANGUAGES..phony: treelangtreelang:treelang.donetreelang.done: gtreelang$(exeext) tree1$(exeext)$(STAMP) treelang.done# no preprocessor# core compilertree1$(exeext): treelang/tree1.o treelang/treetree.o treelang/tree-convert.o \treelang/lex.o treelang/parse.o \$(BACKEND) $(LIBSDEPS) attribs.o$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \treelang/tree1.o treelang/treetree.o treelang/tree-convert.o \treelang/lex.o treelang/parse.o \$(BACKEND) $(LIBS) attribs.o# Create the compiler driver treelang.gtreelang$(exeext): $(GCC_OBJS) version.o prefix.o intl.o $(EXTRA_GCC_OBJS) \$(LIBDEPS) treelang/spec.o$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ treelang/spec.o \$(GCC_OBJS) version.o prefix.o intl.o $(EXTRA_GCC_OBJS) $(LIBS)## Compiling object files from source files.# object file makestreelang/tree1.o: treelang/tree1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \$(FLAGS_H) toplev.h $(GGC_H) $(TREE_H) $(DIAGNOSTIC_H) treelang/treelang.h \input.h treelang/treetree.h options.h opts.h \treelang/treetree.h gt-treelang-tree1.h gtype-treelang.htreelang/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 treelang/parse.h $(TARGET_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/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 \toplev.htreelang/lex.o: treelang/lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \$(TM_H) $(DIAGNOSTIC_H) $(TREE_H) treelang/treelang.h input.h \treelang/parse.h toplev.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/yacctreelang.srcextra: treelang/parse.c treelang/parse.h treelang/lex.c-cp -p $^ $(srcdir)/treelangtreelang/lex.c: treelang/lex.l-$(FLEX) $(FLEXFLAGS) -o$@ $<treelang/parse.c treelang/parse.h treelang/parse.output: treelang/parse.y-$(BISON) $(BISONFLAGS) -v --defines --output=treelang/parse.c $<# -v## Build hooks:treelang.all.cross:_error_not_here_yet - havent even thought about it - it may even worktreelang.start.encap:treelang.rest.encap:treelang.man:treelang.srcman:treelang.tags: forcecd $(srcdir)/treelang; etags -o TAGS.sub *.y *.l *.c *.h; \etags --include TAGS.sub --include ../TAGS.subtreelang.info: doc/treelang.infotreelang.srcinfo: doc/treelang.info-cp -p $^ $(srcdir)/doctreelang.dvi: doc/treelang.dvitreelang.pdf: doc/treelang.pdfTEXI_TREELANG_FILES = treelang/treelang.texi \$(gcc_docdir)/include/gcc-common.texi \$(gcc_docdir)/include/gpl.texi \$(gcc_docdir)/include/fdl.texi \$(gcc_docdir)/include/funding.texi \gcc-vers.texidoc/treelang.info: $(TEXI_TREELANG_FILES)$(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir)/include -o $@ $<doc/treelang.dvi: $(TEXI_TREELANG_FILES)$(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<doc/treelang.pdf: $(TEXI_TREELANG_FILES)$(TEXI2PDF) -I $(abs_docdir)/include -o $@ $<treelang.html: $(build_htmldir)/treelang/index.html$(build_htmldir)/treelang/index.html: $(TEXI_TREELANG_FILES)$(mkinstalldirs) $(@D)rm -f $(@D)/*$(TEXI2HTML) -I $(gcc_docdir)/include -I $(srcdir)/treelang -o $(@D) $<## Install hooks:# Install.phony:treelang.install.common.phony:treelang.installtreelang.install treelang.install.common treelang.install-common: treelang.install.common.donetreelang.install.common.done: installdirs treelang.donefor name in $(TREE_EXES); \do \if [ -f $$name ] ; then \name2="`echo \`basename $$name\` | sed -e '$(program_transform_name)' `"; \rm -f $(DESTDIR)$(bindir)/$$name2$(exeext); \echo $(INSTALL_PROGRAM) $$name$(exeext) $(DESTDIR)$(bindir)/$$name2$(exeext); \$(INSTALL_PROGRAM) $$name$(exeext) $(DESTDIR)$(bindir)/$$name2$(exeext); \chmod a+x $(DESTDIR)$(bindir)/$$name2$(exeext); \fi ; \done$(STAMP) treelang.install.common.done# We might not be able to build the info filestreelang.install-info: $(DESTDIR)$(infodir)/treelang.infotreelang.install-man:treelang.uninstall:for name in $(TREE_EXES); \do \echo $$name; \name2="`echo $$name | sed -e '$(program_transform_name)' `"; \echo becomes $$name2; \echo -rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \done-rm treelang.install.common.done## Clean hooks:# A lot of the ancillary files are deleted by the main makefile.# We just have to delete files specific to us.treelang.mostlyclean:for name in $(TREE_EXES); \do \echo deleting $$name; \if [ -f treelang/$$name$(exeext) ] ; then \rm -f treelang/$$name$(exeext); \fi ; \done-rm -f treelang/*$(objext)-rm -f treelang/*$(coverageexts)-rm treelang.donetreelang.clean: treelang.mostlycleantreelang.distclean: treelang.clean-rm -f treelang/config.status-rm -f treelang/*.outputtreelang.maintainer-clean: treelang.distcleanfor name in $(TREE_GENERATED); \do \if [ -f $(srcdir)/treelang/$$name ] ; then \echo deleting $(srcdir)/treelang/$$name; \rm -f $(srcdir)/treelang/$$name; \fi ; \done-rm -R $(srcdir)/treelang/*~## Stage hooks:# The main makefile has already created stage?/treelang.treelang.stage1: stage1-start-mv treelang/*$(objext) stage1/treelangtreelang.stage2: stage2-start-mv treelang/*$(objext) stage2/treelangtreelang.stage3: stage3-start-mv treelang/*$(objext) stage3/treelangtreelang.stage4: stage4-start-mv treelang/*$(objext) stage4/treelangtreelang.stageprofile: stageprofile-start-mv treelang/*$(objext) stageprofile/treelangtreelang.stagefeedback: stagefeedback-start-mv treelang/*$(objext) stagefeedback/treelang## Maintenance hooks:# test hookcheck-treelang: treelang.checkTESTSUITEDIR = testsuitetreelang.check: $(TESTSUITEDIR)/site.exp-mkdir testsuite/treelang# these three files are empty and it seems diff has trouble generating# patch files for new empty files as required for cvs.# STAMP does not cut it here as I need an empty file.-rootme=`${PWD_COMMAND}`; export rootme; \srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \cd testsuite; \EXPECT=${EXPECT} ; export EXPECT ; \if [ -f $${rootme}/../expect/expect ] ; then \TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \export TCL_LIBRARY ; fi ; \PATH=`cd ..;${PWD_COMMAND}`:$$PATH; export PATH; \gcc_extras="-B`cd ..;${PWD_COMMAND}` -B`cd ..;${PWD_COMMAND}`/treelang"; export gcc_extras; \$(RUNTEST) --tool treelang $(RUNTESTFLAGS)# copy the output files from the current test to source ie say the new results are OKtreelang.check.fix: forcesrcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ;-cp testsuite/treelang/*.out* t-cp testsuite/treelang/*runpgm* t-rm -f t/*nofilename#config.status: treelang/config-lang.in
