From b8dad04b688e9cb9c34b0c0beba09fd0dc626389 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Fri, 27 Oct 2000 20:22:28 +0000 Subject: configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'. * configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to top level. Kill oldstyle_subdirs. Do not include $srcdir/$s/Makefile.in in all_lang_makefiles, but do include $outputs. Do not run configure.lang from config.status. Rearrange warning-flag logic to correspond to what the makefile wants. Put special vax stage1 options in @stage1_flags@ not @stage1_warn_cflags@. Don't do anything with extra_c_objs, extra_cxx_objs, or extra_cpp_objs. (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if switch is given, nothing otherwise. * configure.lang: Delete. * Makefile.in: Expunge all traces of extra_c_objs, extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set warning options via a three level scheme so that -pedantic and -Wtraditional are not used for non-C front ends: LOOSE_WARN, STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS -> WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS. Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES. Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P, LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file generation rules. Wrap all rules that change the current directory in parentheses; pmake doesn't spawn a new shell for each command. Expunge all references to $(P). When one command depends on another and they're run all at once, use && to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2 and beyond. * cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in, objc/Make-lang.in: Wrap all rules that change the current directory in parentheses. Expunge all references to $(P). When one command depends on another and they're run all at once, use && to separate them, not ;. Add OUTPUT_OPTION to all object-file generation rules. Delete obsolete variables. Move all build rules here from the corresponding Makefile.in and adapt to the new environment. * cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in: Delete. * cp/config-lang.in, f/config-lang.in, java/config-lang.in: Delete outputs= line. From-SVN: r37088 --- gcc/objc/Make-lang.in | 26 +++++------------- gcc/objc/Makefile.in | 73 --------------------------------------------------- 2 files changed, 7 insertions(+), 92 deletions(-) delete mode 100644 gcc/objc/Makefile.in (limited to 'gcc/objc') diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in index 049c306..6f19902 100644 --- a/gcc/objc/Make-lang.in +++ b/gcc/objc/Make-lang.in @@ -35,18 +35,6 @@ # - making any compiler driver (eg: g++) # - the compiler proper (eg: cc1plus) # - define the names for selecting the language in LANGUAGES. -# -# Extra flags to pass to recursive makes. -OBJC_FLAGS_TO_PASS = \ - "OBJC_FOR_BUILD=$(OBJC_FOR_BUILD)" \ - "OBJCFLAGS=$(OBJCFLAGS)" \ - "OBJC_FOR_TARGET=$(OBJC_FOR_TARGET)" \ - -# Actual names to use when installing a native compiler. -#OBJC_INSTALL_NAME = `t='$(program_transform_name)'; echo c++ | sed $$t` - -# Actual names to use when installing a cross-compiler. -#OBJC_CROSS_NAME = `t='$(program_transform_cross_name)'; echo c++ | sed $$t` # # Define the names for selecting Objective-C in LANGUAGES. @@ -56,10 +44,13 @@ OBJECTIVE-C objective-c: cc1obj$(exeext) # Tell GNU make to ignore these if they exist. .PHONY: objective-c objc ObjC +# Use maximal warnings for this front end. +objc-warn = $(STRICT_WARN) + # Language-specific object files for Objective C. OBJC_OBJS = objc-parse.o objc-act.o $(C_AND_OBJC_OBJS) -cc1obj$(exeext): $(P) $(OBJC_OBJS) $(BACKEND) $(LIBDEPS) +cc1obj$(exeext): $(OBJC_OBJS) $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(OBJC_OBJS) $(BACKEND) $(LIBS) # Objective C language specific files. @@ -70,7 +61,7 @@ objc-parse.o : $(srcdir)/objc/objc-parse.c \ $(srcdir)/input.h $(srcdir)/flags.h $(srcdir)/output.h \ $(srcdir)/objc/objc-act.h system.h cpplib.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -I$(srcdir)/objc \ - -c $(srcdir)/objc/objc-parse.c + -c $(srcdir)/objc/objc-parse.c $(OUTPUT_OPTION) $(INTL_TARGETS): $(srcdir)/objc/objc-parse.c $(srcdir)/objc/objc-parse.c : $(srcdir)/objc/objc-parse.y @@ -132,8 +123,8 @@ objc.distclean: -rm -f objc-parse.output objc.extraclean: objc.maintainer-clean: - -rm -f objc/objc-parse.y - -rm -f objc/objc-parse.c objc/objc-parse.output + -rm -f $(srcdir)/objc/objc-parse.y + -rm -f $(srcdir)/objc/objc-parse.c $(srcdir)/objc/objc-parse.output # # Stage hooks: @@ -156,11 +147,8 @@ objc.stage4: stage4-start # This target creates the files that can be rebuilt, but go in the # distribution anyway. It then copies the files to the distdir directory. -# ??? Note that this should be fixed once the Makefile is fixed to do -# the build in the inner directory. objc.distdir: $(srcdir)/objc/objc-parse.c mkdir tmp/objc -# cd objc ; $(MAKE) $(LANG_FLAGS_TO_PASS) objc-parse.c cd objc; \ for file in *[0-9a-zA-Z+]; do \ ln $$file ../tmp/objc >/dev/null 2>&1 || cp $$file ../tmp/objc; \ diff --git a/gcc/objc/Makefile.in b/gcc/objc/Makefile.in deleted file mode 100644 index 71c564c..0000000 --- a/gcc/objc/Makefile.in +++ /dev/null @@ -1,73 +0,0 @@ -# GNU Objective C frontend Makefile -# Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -# -# This file is part of GNU CC. -# -# 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. - -# The Makefile built from this file lives in the objc language subdirectory. -# Its purpose is to provide support for: -# -# 1. recursion where necessary, and only then (building .o's), and -# 2. building and debugging cc1objc from the language subdirectory. -# -# The parent Makefile handles all other chores, with help from the language -# Makefile fragment. -# -# The targets for external use are `all' and `mostlyclean'. - -SHELL=/bin/sh - -OPTIMIZE= -O - -srcdir = . -VPATH = $(srcdir) - -AR = ar -AR_FLAGS = rc - -# Define this as & to perform parallel make on a Sequent. -# Note that this has some bugs, and it seems currently necessary -# to compile all the gen* files first by hand to avoid erroneous results. -P = - -# Definition of `all' is here so that new rules inserted by sed -# do not specify the default target. -all: all.indirect - -# sed inserts variable overrides after the following line. -####target overrides -####host overrides -####cross overrides -####build overrides -# - -# Now figure out from those variables how to compile and link. -all.indirect: Makefile frontend - -frontend: - cd ..; $(MAKE) cc1obj$(exeext) - -Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure - cd ..; $(SHELL) config.status - -mostlyclean: - -rm -f *.o xforward fflags -clean: mostlyclean -distclean: mostlyclean -extraclean: mostlyclean - -# For Sun VPATH. - -- cgit v1.1