X-Git-Url: https://gcc.gnu.org/git/?a=blobdiff_plain;f=gcc%2Fcp%2FMake-lang.in;h=65a16063eb6692be140c26ca39c13bef97031ad0;hb=25af8512559873d4b6e67d27a07f504a585b6037;hp=5e03947fb11d70506729231c7d5b592dda92c79a;hpb=b8dad04b688e9cb9c34b0c0beba09fd0dc626389;p=gcc.git diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 5e03947fb11..65a16063eb6 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -1,5 +1,5 @@ -# Top level makefile fragment for GNU C++. -# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 +# Top level -*- makefile -*- fragment for GNU C++. +# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. #This file is part of GNU CC. @@ -25,7 +25,7 @@ # foo.all.build, foo.all.cross, foo.start.encap, foo.rest.encap, # foo.info, foo.dvi, # foo.install-normal, foo.install-common, foo.install-info, foo.install-man, -# foo.uninstall, foo.distdir, +# foo.uninstall, # foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean, # foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4 # @@ -60,8 +60,11 @@ C++ c++: cc1plus$(exeext) # Tell GNU make to ignore these if they exist. .PHONY: C++ c++ -g++spec.o: $(srcdir)/cp/g++spec.c system.h $(GCC_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/cp/g++spec.c +g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) $(GCC_H) $(CONFIG_H) + (SHLIB_LINK='$(SHLIB_LINK)' \ + SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \ + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \ + $(INCLUDES) $(srcdir)/cp/g++spec.c) $(INTL_TARGETS): $(srcdir)/cp/parse.c @@ -77,7 +80,7 @@ g++-cross$(exeext): g++$(exeext) cp g++$(exeext) g++-cross$(exeext) # The demangler. -cxxmain.o: $(srcdir)/../libiberty/cplus-dem.c $(DEMANGLE_H) +cxxmain.o: $(srcdir)/../libiberty/cplus-dem.c $(DEMANGLE_H) $(CONFIG_H) rm -f cxxmain.c $(LN_S) $(srcdir)/../libiberty/cplus-dem.c cxxmain.c $(CC) -c -DMAIN $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ @@ -90,10 +93,11 @@ $(DEMANGLER_PROG): cxxmain.o underscore.o $(LIBDEPS) # The compiler itself. # Shared with C front end: -CXX_C_OBJS = c-common.o c-pragma.o c-semantics.o c-lex.o +CXX_C_OBJS = attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o \ + c-dump.o $(CXX_TARGET_OBJS) # Language-specific object files. -CXX_OBJS = cp/call.o cp/decl.o cp/errfn.o cp/expr.o cp/pt.o cp/typeck2.o \ +CXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \ cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parse.o cp/ptree.o cp/rtti.o \ cp/spew.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o \ cp/search.o cp/semantics.o cp/tree.o cp/xref.o cp/repo.o cp/dump.o \ @@ -103,9 +107,9 @@ CXX_OBJS = cp/call.o cp/decl.o cp/errfn.o cp/expr.o cp/pt.o cp/typeck2.o \ cp-warn = cc1plus$(exeext): $(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) \ - $(MAYBE_CPPLIB) $(LIBDEPS) + libcpp.a $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) $(MAYBE_CPPLIB) $(LIBS) + $(CXX_OBJS) $(CXX_C_OBJS) $(BACKEND) libcpp.a $(LIBS) # Special build rules. $(srcdir)/cp/cfns.h: $(srcdir)/cp/cfns.gperf @@ -126,8 +130,9 @@ c++.all.cross: g++-cross$(exeext) $(DEMANGLER_PROG) c++.start.encap: g++$(exeext) c++.rest.encap: $(DEMANGLER_PROG) -c++.info: +c++.info: c++.dvi: + # # Install hooks: # cc1plus is installed elsewhere as part of $(COMPILERS). @@ -137,7 +142,7 @@ c++.install-normal: # Install the driver program as $(target)-g++ # and also as either g++ (if native) or $(tooldir)/bin/g++. -c++.install-common: +c++.install-common: installdirs -if [ -f cc1plus$(exeext) ] ; then \ if [ -f g++-cross$(exeext) ] ; then \ rm -f $(bindir)/$(GXX_CROSS_NAME)$(exeext); \ @@ -175,9 +180,9 @@ c++.install-common: fi ; \ fi -c++.install-info: +c++.install-info: -c++.install-man: $(srcdir)/cp/g++.1 +c++.install-man: installdirs $(srcdir)/cp/g++.1 -if [ -f cc1plus$(exeext) ] ; then \ if [ -f g++-cross$(exeext) ] ; then \ rm -f $(man1dir)/$(GXX_CROSS_NAME)$(manext); \ @@ -225,69 +230,68 @@ c++.stage3: stage3-start -mv cp/*$(objext) stage3/cp c++.stage4: stage4-start -mv cp/*$(objext) stage4/cp -# -# Maintenance hooks: - -# This target creates the files that can be rebuilt, but go in the -# distribution anyway. It then copies the files to the distdir directory. -c++.distdir: - mkdir tmp/cp - mkdir tmp/cp/inc - cd cp ; $(MAKE) $(LANG_FLAGS_TO_PASS) $(CXX_FLAGS_TO_PASS) parse.c hash.h - cd cp; \ - for file in *[0-9a-zA-Z+]; do \ - $(LN) $$file ../tmp/cp; \ - done - cd cp/inc; \ - for file in *[0-9a-zA-Z+]; do \ - ln $$file ../../tmp/cp/inc >/dev/null 2>&1 \ - || cp $$file ../../tmp/cp/inc; \ - done # # .o: .h dependencies. CXX_TREE_H = $(TREE_H) cp/cp-tree.h c-common.h cp/cp-tree.def c-common.def \ - function.h varray.h system.h $(CONFIG_H) \ + function.h varray.h $(SYSTEM_H) $(CONFIG_H) $(TARGET_H) \ $(srcdir)/../include/hashtab.h $(srcdir)/../include/splay-tree.h cp/spew.o: cp/spew.c $(CXX_TREE_H) cp/parse.h flags.h cp/lex.h toplev.h cp/lex.o: cp/lex.c $(CXX_TREE_H) cp/parse.h flags.h cp/lex.h c-pragma.h \ - toplev.h output.h mbchar.h $(GGC_H) input.h diagnostic.h cp/operators.def + toplev.h output.h mbchar.h $(GGC_H) input.h diagnostic.h cp/operators.def \ + $(TM_P_H) cp/decl.o: cp/decl.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h stack.h \ - output.h $(EXPR_H) except.h toplev.h hash.h $(GGC_H) $(RTL_H) cp/operators.def + output.h $(EXPR_H) except.h toplev.h hash.h $(GGC_H) $(RTL_H) \ + cp/operators.def $(TM_P_H) tree-inline.h cp/decl2.o: cp/decl2.c $(CXX_TREE_H) flags.h cp/lex.h cp/decl.h $(EXPR_H) \ - output.h except.h toplev.h dwarf2out.h dwarfout.h $(GGC_H) $(RTL_H) -cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) flags.h toplev.h output.h -cp/typeck.o: cp/typeck.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h + output.h except.h toplev.h $(GGC_H) $(RTL_H) +cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) flags.h toplev.h output.h $(TM_P_H) \ + diagnostic.h +cp/typeck.o: cp/typeck.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \ + diagnostic.h cp/class.o: cp/class.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) -cp/call.o: cp/call.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) $(EXPR_H) $(GGC_H) +cp/call.o: cp/call.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) $(EXPR_H) \ + $(GGC_H) diagnostic.h cp/friend.o: cp/friend.c $(CXX_TREE_H) flags.h $(RTL_H) toplev.h $(EXPR_H) cp/init.o: cp/init.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \ $(GGC_H) except.h -cp/method.o: cp/method.c $(CXX_TREE_H) toplev.h $(GGC_H) $(RTL_H) $(EXPR_H) +cp/method.o: cp/method.c $(CXX_TREE_H) toplev.h $(GGC_H) $(RTL_H) $(EXPR_H) \ + $(TM_P_H) cp/cvt.o: cp/cvt.c $(CXX_TREE_H) cp/decl.h flags.h toplev.h convert.h cp/search.o: cp/search.c $(CXX_TREE_H) stack.h flags.h toplev.h $(RTL_H) cp/tree.o: cp/tree.c $(CXX_TREE_H) flags.h toplev.h $(GGC_H) $(RTL_H) \ - insn-config.h integrate.h -cp/ptree.o: cp/ptree.c $(CXX_TREE_H) system.h -cp/rtti.o: cp/rtti.c $(CXX_TREE_H) flags.h toplev.h defaults.h + insn-config.h integrate.h tree-inline.h +cp/ptree.o: cp/ptree.c $(CXX_TREE_H) $(SYSTEM_H) +cp/rtti.o: cp/rtti.c $(CXX_TREE_H) flags.h toplev.h cp/except.o: cp/except.c $(CXX_TREE_H) flags.h $(RTL_H) except.h toplev.h \ - cp/cfns.h $(EXPR_H) insn-flags.h cp/decl.h $(OBSTACK_H) -cp/expr.o: cp/expr.c $(CXX_TREE_H) $(RTL_H) flags.h $(EXPR_H) toplev.h except.h + cp/cfns.h $(EXPR_H) libfuncs.h cp/decl.h $(OBSTACK_H) +cp/expr.o: cp/expr.c $(CXX_TREE_H) $(RTL_H) flags.h $(EXPR_H) toplev.h \ + except.h $(TM_P_H) cp/xref.o: cp/xref.c $(CXX_TREE_H) input.h toplev.h cp/pt.o: cp/pt.c $(CXX_TREE_H) cp/decl.h cp/parse.h cp/lex.h toplev.h \ - $(GGC_H) $(RTL_H) except.h -cp/error.o: cp/error.c $(CXX_TREE_H) toplev.h diagnostic.h -cp/errfn.o: cp/errfn.c $(CXX_TREE_H) toplev.h -cp/repo.o: cp/repo.c $(CXX_TREE_H) toplev.h $(GGC_H) + $(GGC_H) $(RTL_H) except.h tree-inline.h +cp/error.o: cp/error.c $(CXX_TREE_H) toplev.h diagnostic.h flags.h real.h +cp/repo.o: cp/repo.c $(CXX_TREE_H) toplev.h $(GGC_H) diagnostic.h cp/semantics.o: cp/semantics.c $(CXX_TREE_H) cp/lex.h except.h toplev.h \ - flags.h $(GGC_H) output.h $(RTL_H) $(TIMEVAR_H) -cp/dump.o: cp/dump.c $(CXX_TREE_H) + flags.h $(GGC_H) debug.h output.h $(RTL_H) $(TIMEVAR_H) $(EXPR_H) \ + tree-inline.h +cp/dump.o: cp/dump.c $(CXX_TREE_H) c-dump.h cp/optimize.o: cp/optimize.c $(CXX_TREE_H) rtl.h integrate.h insn-config.h \ - input.h + input.h $(PARAMS_H) debug.h tree-inline.h cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h cp/parse.o: cp/parse.c $(CXX_TREE_H) flags.h cp/lex.h except.h output.h \ - system.h toplev.h $(GGC_H) + $(SYSTEM_H) toplev.h $(GGC_H) $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(BIG_SWITCHFLAG) \ $(srcdir)/cp/parse.c $(OUTPUT_OPTION) +# +# These exist for maintenance purposes. + +# Update the tags table. +cp/TAGS: force + cd $(srcdir)/cp ; \ + etags --no-globals -l c `echo *.c | sed 's/parse.c//'` \ + parse.y *.h ../*.c ../*.h; + +.PHONY: cp/TAGS