# Selection of languages to be made.
# This is overridden by configure.
-LANGUAGES = c objective-c proto gcov @all_languages@
+LANGUAGES = c proto gcov @all_languages@
# Selection of languages to be made during stage1 build.
# This is overridden by configure.
# A list of all the language-specific executables.
# This is overridden by configure.
-COMPILERS = cc1$(exeext) cc1obj$(exeext) @all_compilers@
+COMPILERS = cc1$(exeext) @all_compilers@
# List of things which should already be built whenever we try to use xgcc
# to compile anything (without linking).
C_OBJS = c-parse.o c-lang.o c-lex.o c-pragma.o \
c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o
-# Language-specific object files for Objective C.
-OBJC_OBJS = objc-parse.o objc-act.o c-lex.o c-pragma.o \
- c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o
-
# Files specific to the C interpreter bytecode compiler(s).
BC_OBJS = bc-emit.o bc-optab.o
# Define the names for selecting languages in LANGUAGES.
C c: cc1
-OBJC objc: cc1obj objc-runtime
-OBJECTIVE-C objective-c: cc1obj objc-runtime
PROTO: proto
# Tell GNU make these are phony targets.
-.PHONY: C c OBJC objc OBJECTIVE-C objective-c PROTO proto
+.PHONY: C c PROTO proto
# Really, really stupid make features, such as SUN's KEEP_STATE, may force
# a target to build even if it is up-to-date. So we must verify that
cc1: $(P) $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBS)
-cc1obj: $(P) $(OBJC_OBJS) $(OBJS) $(BC_OBJS) $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(OBJC_OBJS) $(OBJS) $(BC_OBJS) $(LIBS)
-
# Copy float.h from its source.
gfloat.h: $(FLOAT_H)
-rm -f gfloat.h
else true; \
fi; done
-objc-runtime: libobjc.a
-
-# Build the Objective C runtime library.
-libobjc.a: cc1obj specs stmp-int-hdrs libgcc2.ready $(USE_COLLECT2) $(EXTRA_PARTS)
- if [ -d objc ]; then true; else mkdir objc; fi
- thisdir1=`pwd`; \
- srcdir1=`cd $(srcdir); pwd`; \
- cd objc; \
- $(MAKE) -f $${srcdir1}/objc/Makefile libobjc.a \
- srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
- GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
- GCC_CFLAGS="$(GCC_CFLAGS)" OBJC_THREAD_FILE="$(OBJC_THREAD_FILE)"
- -rm -f libobjc.a
- ln objc/libobjc.a . >/dev/null 2>&1 || cp objc/libobjc.a .
- -if $(RANLIB_TEST) ; then $(RANLIB) libobjc.a; else true; fi
-
-# This is used by objc/Makefile if the user runs that directly.
-sublibobjc.a: cc1obj specs stmp-int-hdrs libgcc2.ready
- thisdir1=`pwd`; \
- srcdir1=`cd $(srcdir); pwd`; \
- cd objc; \
- $(MAKE) -f $$srcdir1/objc/Makefile libobjc.a \
- srcdir=$$srcdir1 tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
- GCC_FOR_TARGET="$$thisdir1/xgcc -B$$thisdir1/" \
- GCC_CFLAGS="$(GCC_CFLAGS)" OBJC_THREAD_FILE="$(OBJC_THREAD_FILE)"
-
# Compile two additional files that are linked with every program
# linked using GCC on systems using COFF or ELF, for the sake of C++
# constructors.
-rm -f tmp-dum.c tmp-dum.s
touch stamp-under
-# Objective C language specific files.
-
-objc-parse.o : $(srcdir)/objc-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \
- c-tree.h input.h flags.h objc-act.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/objc-parse.c
-$(srcdir)/objc-parse.c : $(srcdir)/objc-parse.y
- cd $(srcdir); $(BISON) $(BISONFLAGS) objc-parse.y -o objc-parse.c
-$(srcdir)/objc-parse.y: $(srcdir)/c-parse.in
- echo '/*WARNING: This file is automatically generated!*/' >tmp-objc-prs.y
- sed -e "/^ifc$$/,/^end ifc$$/d" \
- -e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \
- $(srcdir)/c-parse.in >>tmp-objc-prs.y
- $(srcdir)/move-if-change tmp-objc-prs.y $(srcdir)/objc-parse.y
-
-objc-act.o : objc-act.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h c-lex.h \
- flags.h objc-act.h input.h function.h $(srcdir)/c-parse.h
-
# A file used by all variants of C.
c-common.o : c-common.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h
# Build the include directory except for float.h (which depends upon
# enquire).
-stmp-int-hdrs: stmp-fixinc $(USER_H) xlimits.h objc-headers
+stmp-int-hdrs: stmp-fixinc $(USER_H) xlimits.h
# Copy in the headers provided with gcc.
# The sed command gets just the last file name component;
# this is necessary because VPATH could add a dirname.
chmod a+r include/syslimits.h
touch stmp-fixinc
-# copy objc header files into build directory
-objc-headers: stmp-fixinc
- if [ -d include ]; then true; else mkdir include; fi
- if [ -d objc ]; then true; else mkdir objc; fi
- thisdir1=`pwd`; \
- srcdir1=`cd $(srcdir); pwd`; \
- cd objc; \
- if [ -f $${srcdir1}/objc/Makefile ]; then \
- $(MAKE) -f $${srcdir1}/objc/Makefile copy-headers \
- srcdir=$${srcdir1} tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \
- GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \
- GCC_CFLAGS="$(GCC_CFLAGS)" incinstalldir=$${thisdir1}/include; \
- fi
- touch objc-headers
-
# Files related to the fixproto script.
deduced.h: $(GCC_PASSES) $(srcdir)/scan-types.sh stmp-int-hdrs
mostlyclean: bytecode.mostlyclean lang.mostlyclean
-rm -f $(STAGESTUFF)
-# Clean the objc subdir if we created one.
- if [ -d objc ]; then \
- srcdir1=`cd $(srcdir); pwd`; \
- cd objc; $(MAKE) -f $$srcdir1/objc/Makefile mostlyclean; \
- else true; fi
- -rm -f libobjc.a
# Delete the temporary source copies for cross compilation.
-rm -f $(HOST_PREFIX_1)rtl.c $(HOST_PREFIX_1)rtlanal.c
-rm -f $(HOST_PREFIX_1)alloca.c $(HOST_PREFIX_1)malloc.c
# Delete other temporary files.
-rm -f tmp-float.h tmp-gcc.xtar.gz
-rm -f tmp-foo1 tmp-foo2 tmp-proto.* tmp-unproto.1 tmp-SYSCALLS.s
- -rm -f tmp-c-parse.y tmp-objc-prs.y tmp-gperf.h
+ -rm -f tmp-c-parse.y tmp-gperf.h
-rm -f tmp-specs t-float.h-cross tmp-xlimits.h
-rm -f tmp-fixtmp.c xsys-protos.hT
# Delete the stamp files.
rm -f md ; \
fi
# Delete the include directory.
- -rm -rf stmp-* include objc-headers
+ -rm -rf stmp-* include
-rm -f */stmp-*
# Delete files used by the "multilib" facility (including libgcc subdirs).
-rm -f multilib.h tmpmultilib*
-rm -f Makefile specs.h options.h *.oaux
-rm -fr stage1 stage2 stage3 stage4
-rm -f */stage1 */stage2 */stage3 */stage4 */include
- -rm -f objc-parse.output
-rm -f c-parse.output
-rm -f *.asm
-rm -f float.h
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
$(MAKE) distclean bytecode.maintainer-clean lang.maintainer-clean
- -rm -f c-parse.y c-gperf.h objc-parse.y
- -rm -f objc-parse.c objc-parse.output
+ -rm -f c-parse.y c-gperf.h
-rm -f c-parse.c c-parse.h c-parse.output
-rm -f cexp.c cexp.output TAGS
-rm -f cpp.info* cpp.??s cpp.*aux
# Install the driver last so that the window when things are
# broken is small.
install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
- install-libobjc install-man install-info lang.install-normal install-driver
+ install-man install-info lang.install-normal install-driver
# Do nothing while making gcc with a cross-compiler. The person who
# makes gcc for the target machine has to know how to put a complete
chmod a-x $(libsubdir)/$${dir}/libgcc.a; \
done
-# Install the objc run time library.
-install-libobjc: installdirs
- -if [ -f libobjc.a ] ; then \
- rm -f $(libsubdir)/libobjc.a; \
- $(INSTALL_DATA) libobjc.a $(libsubdir)/libobjc.a; \
- if $(RANLIB_TEST) ; then \
- (cd $(libsubdir); $(RANLIB) libobjc.a); else true; fi; \
- chmod a-x $(libsubdir)/libobjc.a; \
- else true; fi
-
# Install all the header files built in the include subdirectory.
install-headers: install-include-dir $(INSTALL_HEADERS_DIR) $(INSTALL_ASSERT_H)
# Fix symlinks to absolute paths in the installed include directory to