aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2000-10-27 20:22:28 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-10-27 20:22:28 +0000
commitb8dad04b688e9cb9c34b0c0beba09fd0dc626389 (patch)
treed68bb6ec0165cb1817a78141ea65d0c48a903fa0 /gcc/objc
parentfadb729c6d312aa1064e1fcb7cdd6286deeff9bd (diff)
downloadgcc-b8dad04b688e9cb9c34b0c0beba09fd0dc626389.zip
gcc-b8dad04b688e9cb9c34b0c0beba09fd0dc626389.tar.gz
gcc-b8dad04b688e9cb9c34b0c0beba09fd0dc626389.tar.bz2
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
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/Make-lang.in26
-rw-r--r--gcc/objc/Makefile.in73
2 files changed, 7 insertions, 92 deletions
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.
-