# Top level -*- makefile -*- fragment for GNU Objective-C
# Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
#This file is part of GCC.
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf,
-# foo.info, foo.dvi, foo.pdf, foo.html, foo.uninstall,
+# 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
#
# Tell GNU make to ignore these if they exist.
.PHONY: objc
+START_HDRS = $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
+ c-lang.h langhooks.h c-family/c-objc.h objc/objc-act.h
+
# Use maximal warnings for this front end.
objc-warn = $(STRICT_WARN)
# Language-specific object files for Objective C.
-OBJC_OBJS = objc/objc-lang.o objc/objc-act.o
+OBJC_OBJS = objc/objc-lang.o objc/objc-act.o \
+ objc/objc-runtime-shared-support.o \
+ objc/objc-gnu-runtime-abi-01.o \
+ objc/objc-next-runtime-abi-01.o \
+ objc/objc-next-runtime-abi-02.o \
objc_OBJS = $(OBJC_OBJS) cc1obj-checksum.o
-cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)
- $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \
- $(BACKEND) $(LIBS) $(BACKENDLIBS)
-
-cc1obj-checksum.c : cc1obj-dummy$(exeext) build/genchecksum$(build_exeext)
- build/genchecksum$(build_exeext) cc1obj-dummy$(exeext) > $@
+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 $@ \
+ +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \
$(BACKEND) $(LIBS) $(BACKENDLIBS)
# Objective C language specific files.
-objc/objc-lang.o : objc/objc-lang.c \
- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
- $(C_TREE_H) $(DIAGNOSTIC_H) \
- $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \
- c-objc-common.h objc/objc-act.h $(GIMPLE_H)
+objc/objc-lang.o : objc/objc-lang.c $(START_HDRS) \
+ $(GGC_H) $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \
+ c-objc-common.h
+
+objc/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
+ $(START_HDRS) objc/objc-runtime-shared-support.h $(OBSTACK_H) \
+ objc/objc-next-metadata-tags.h gt-objc-objc-runtime-shared-support.h
-objc/objc-act.o : objc/objc-act.c \
- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \
- $(EXPR_H) $(TARGET_H) $(C_TREE_H) $(DIAGNOSTIC_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)
+objc/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c $(START_HDRS) \
+ objc/objc-runtime-hooks.h $(GGC_H) \
+ objc/objc-runtime-shared-support.h gt-objc-objc-gnu-runtime-abi-01.h toplev.h
+
+objc/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c $(START_HDRS) \
+ $(GGC_H) objc/objc-runtime-hooks.h \
+ objc/objc-next-metadata-tags.h gt-objc-objc-next-runtime-abi-01.h output.h \
+ objc/objc-runtime-shared-support.h $(TARGET_H)
+
+objc/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c $(START_HDRS) \
+ $(GGC_H) objc/objc-runtime-hooks.h \
+ objc/objc-next-metadata-tags.h gt-objc-objc-next-runtime-abi-02.h $(TARGET_H) \
+ objc/objc-runtime-shared-support.h $(OBSTACK_H)
+
+objc/objc-act.o : objc/objc-act.c $(START_HDRS) $(GGC_H) \
+ $(DIAGNOSTIC_CORE_H) toplev.h $(FLAGS_H) input.h $(FUNCTION_H) output.h debug.h \
+ $(LANGHOOKS_DEF_H) $(HASHTAB_H) $(C_PRAGMA_H) gt-objc-objc-act.h $(OBSTACK_H) \
+ $(GIMPLE_H) objc/objc-runtime-shared-support.h objc/objc-runtime-hooks.h
objc.srcextra:
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; \
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
+
#\f
# Install hooks:
# cc1obj is installed elsewhere as part of $(COMPILERS).