X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fobjc%2FMake-lang.in;h=12aefd188f8df2bd15ef7ec6d8750f1221f00c8a;hb=f78a6a7e0b73927f3b6f50c67f4223b262269bdc;hp=089f71470b6adb2d7c523d52fc825c8798af47d6;hpb=3135f5e293db6ceed8a380dc0aa3dbde28a9c101;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in index 089f71470b6..12aefd188f8 100644 --- a/gcc/objc/Make-lang.in +++ b/gcc/objc/Make-lang.in @@ -1,31 +1,31 @@ -# Top level makefile fragment for GNU Objective-C -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. +# Top level -*- makefile -*- fragment for GNU Objective-C +# Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2007, +# 2008, 2009, 2010 Free Software Foundation, Inc. -#This file is part of GNU CC. +#This file is part of GCC. -#GNU CC is free software; you can redistribute it and/or modify +#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 2, or (at your option) +#the Free Software Foundation; either version 3, or (at your option) #any later version. -#GNU CC is distributed in the hope that it will be useful, +#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 GNU CC; see the file COPYING. If not, write to -#the Free Software Foundation, 59 Temple Place - Suite 330, -#Boston, MA 02111-1307, USA. +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + # This file provides the language dependent support in the main Makefile. # Each language makefile fragment must provide the following targets: # -# 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.mostlyclean, foo.clean, foo.distclean, foo.extraclean, +# foo.all.cross, foo.start.encap, foo.rest.encap, +# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf, +# foo.install-html, foo.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. @@ -35,85 +35,87 @@ # - 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. -OBJC objc: cc1obj$(exeext) -OBJECTIVE-C objective-c: cc1obj$(exeext) +objc: cc1obj$(exeext) # Tell GNU make to ignore these if they exist. -.PHONY: objective-c objc ObjC +.PHONY: 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) +OBJC_OBJS = objc/objc-lang.o objc/objc-act.o -cc1obj$(exeext): $(P) $(OBJS) $(OBJC_OBJS) $(LIBDEPS) - $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(OBJC_OBJS) $(LIBS) +objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o + +cc1obj-checksum.c : build/genchecksum$(build_exeext) checksum-options \ + $(OBJC_OBJS) $(C_AND_OBJC_OBJS) $(BACKEND) $(LIBDEPS) + build/genchecksum$(build_exeext) $(OBJC_OBJS) $(C_AND_OBJC_OBJS) \ + $(BACKEND) $(LIBDEPS) checksum-options > cc1obj-checksum.c.tmp && \ + $(srcdir)/../move-if-change cc1obj-checksum.c.tmp cc1obj-checksum.c + +cc1obj-checksum.o : cc1obj-checksum.c $(CONFIG_H) $(SYSTEM_H) + +cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) $(LIBDEPS) + +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ + $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \ + $(BACKEND) $(LIBS) $(BACKENDLIBS) # Objective C language specific files. -objc-parse.o : $(srcdir)/objc/objc-parse.c \ - $(CONFIG_H) $(TREE_H) $(srcdir)/toplev.h $(srcdir)/ggc.h \ - $(srcdir)/c-lex.h $(srcdir)/c-tree.h $(srcdir)/c-common.h \ - $(srcdir)/input.h $(srcdir)/flags.h $(srcdir)/output.h \ - $(srcdir)/objc/objc-act.h system.h - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -I$(srcdir)/objc \ - -c $(srcdir)/objc/objc-parse.c - -$(INTL_TARGETS): $(srcdir)/objc/objc-parse.c -$(srcdir)/objc/objc-parse.c : $(srcdir)/objc/objc-parse.y - cd $(srcdir)/objc; \ - $(BISON) $(BISONFLAGS) -o objc-parse.c objc-parse.y - -$(srcdir)/objc/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 - $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $(srcdir)/objc/objc-parse.y - -objc-act.o : $(srcdir)/objc/objc-act.c \ - $(CONFIG_H) $(TREE_H) $(RTL_H) system.h \ - $(srcdir)/c-tree.h $(srcdir)/c-common.h $(srcdir)/c-lex.h \ - $(srcdir)/toplev.h $(srcdir)/flags.h $(srcdir)/objc/objc-act.h \ - $(srcdir)/input.h $(srcdir)/function.h $(srcdir)/output.h \ - $(srcdir)/c-parse.h - $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -I$(srcdir)/objc \ - -c $(srcdir)/objc/objc-act.c +objc/objc-lang.o : objc/objc-lang.c \ + $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \ + $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \ + c-objc-common.h objc/objc-act.h + +objc/objc-act.o : objc/objc-act.c \ + $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ + $(TARGET_H) $(C_TREE_H) $(DIAGNOSTIC_CORE_H) toplev.h $(FLAGS_H) \ + objc/objc-act.h input.h $(FUNCTION_H) output.h debug.h langhooks.h \ + $(LANGHOOKS_DEF_H) $(HASHTAB_H) $(C_PRAGMA_H) gt-objc-objc-act.h \ + $(GIMPLE_H) c-lang.h + +objc.srcextra: # # Build hooks: -objc.all.build: objc.all.cross: objc.start.encap: objc.rest.encap: - objc.info: +objc.install-info: objc.dvi: +objc.pdf: +objc.install-pdf: +objc.html: +objc.install-html: +objc.man: +objc.srcinfo: +objc.srcman: +objc.install-plugin: + +objc.tags: force + cd $(srcdir)/objc; etags -o TAGS.sub *.c *.h; \ + etags --include TAGS.sub --include ../TAGS.sub + +lang_checks += check-objc + +# The following allows you to do 'make check-objc -j2'. The +# execute.exp tests will be run in parallel with all the other ones. +# This is tuned for '-j2'. +lang_checks_parallelized += check-objc +check_objc_parallelize = execute.exp # # Install hooks: # cc1obj is installed elsewhere as part of $(COMPILERS). -objc.install-normal: - objc.install-common: -objc.install-info: - objc.install-man: objc.uninstall: @@ -122,46 +124,27 @@ objc.uninstall: # A lot of the ancillary files are deleted by the main makefile. # We just have to delete files specific to us. objc.mostlyclean: - -rm -f tmp-objc-prs.y -rm -f objc/*$(objext) objc/xforward objc/fflags + -rm -f objc/*$(coverageexts) objc.clean: objc.mostlyclean -rm -rf objc-headers objc.distclean: -rm -f objc/Makefile objc/Make-host objc/Make-target -rm -f objc/config.status objc/config.cache - -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 # # Stage hooks: objc.stage1: stage1-start -mv objc/*$(objext) stage1/objc - -mv cc1obj$(exeext) stage1 objc.stage2: stage2-start -mv objc/*$(objext) stage2/objc - -mv cc1obj$(exeext) stage2 objc.stage3: stage3-start -mv objc/*$(objext) stage3/objc - -mv cc1obj$(exeext) stage3 objc.stage4: stage4-start -mv objc/*$(objext) stage4/objc - -mv cc1obj$(exeext) stage4 - -# -# 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. -# ??? 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; \ - done +objc.stageprofile: stageprofile-start + -mv objc/*$(objext) stageprofile/objc +objc.stagefeedback: stagefeedback-start + -mv objc/*$(objext) stagefeedback/objc