This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH v3 08/18] convert the ObjC++ front end to automatic dependencies
- From: Tom Tromey <tromey at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: aoliva at redhat dot com, Tom Tromey <tromey at redhat dot com>
- Date: Tue, 20 Aug 2013 07:59:06 -0600
- Subject: [PATCH v3 08/18] convert the ObjC++ front end to automatic dependencies
- References: <1377007156-540-1-git-send-email-tromey at redhat dot com>
This converts the ObjC++ front end.
Now we can finally remove the *_H macros from cp/Make-lang.in.
* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
Remove.
* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
(objcp/objcp-lang.o, objcp/objcp-decl.o
(objcp/objc-runtime-shared-support.o)
(objcp/objc-gnu-runtime-abi-01.o objcp/objc-next-runtime-abi-01.o)
(objcp/objc-next-runtime-abi-02.o, objcp/objcp-act.o)
(objcp/objc-encoding.o, objcp/objc-map.o): Use COMPILE and
POSTCOMPILE. Remove explicit dependencies.
---
gcc/cp/Make-lang.in | 9 ----
gcc/objcp/Make-lang.in | 128 +++++++++++--------------------------------------
2 files changed, 27 insertions(+), 110 deletions(-)
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index d8a4649..5f11fae 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -248,12 +248,3 @@ c++.stageprofile: stageprofile-start
-mv cp/*$(objext) stageprofile/cp
c++.stagefeedback: stagefeedback-start
-mv cp/*$(objext) stagefeedback/cp
-
-#
-# .o: .h dependencies.
-CXX_TREE_H = $(TREE_H) cp/name-lookup.h cp/cp-tree.h $(C_COMMON_H) \
- $(FUNCTION_H) \
- $(SYSTEM_H) coretypes.h $(CONFIG_H) $(TARGET_H) $(GGC_H) \
- $(srcdir)/../include/hashtab.h
-CXX_PARSER_H = tree.h $(CXX_TREE_H) c-family/c-pragma.h cp/parser.h
-CXX_PRETTY_PRINT_H = cp/cxx-pretty-print.h $(C_PRETTY_PRINT_H)
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index ec10fc8..439bfa2 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -43,9 +43,6 @@ obj-c++: cc1objplus$(exeext)
# Tell GNU make to ignore these if they exist.
.PHONY: obj-c++
-START_HDRS = $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
- $(CXX_PARSER_H) $(CXX_PRETTY_PRINT_H) langhooks.h c-family/c-objc.h objc/objc-act.h
-
# Use maximal warnings for this front end. Also, make ObjC and C++
# headers accessible.
objcp-warn = $(STRICT_WARN) -DOBJCPLUS -I$(srcdir)/objc -I$(srcdir)/cp
@@ -69,110 +66,39 @@ cc1objplus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(srcdir)/../move-if-change cc1objplus-checksum.c.tmp \
cc1objplus-checksum.c
-cc1objplus-checksum.o : cc1objplus-checksum.c $(CONFIG_H) $(SYSTEM_H)
-
cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS)
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
# Objective C++ language specific files.
-objcp/objcp-lang.o : objcp/objcp-lang.c \
- $(START_HDRS) \
- $(GGC_H) \
- $(C_COMMON_H) $(LANGHOOKS_DEF_H) cp/cp-objcp-common.h \
- $(TARGET_H) gtype-objcp.h
-
-objcp/objcp-decl.o : objcp/objcp-decl.c \
- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
- objc/objc-act.h c-family/c-objc.h \
- objcp/objcp-decl.h
-
-objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
- gt-objc-objc-runtime-shared-support.h \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- objc/objc-encoding.h \
- objc/objc-next-metadata-tags.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c \
- gt-objc-objc-gnu-runtime-abi-01.h \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- toplev.h \
- objc/objc-encoding.h \
- objc/objc-runtime-hooks.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c \
- gt-objc-objc-next-runtime-abi-01.h \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- $(TARGET_H) output.h \
- objc/objc-encoding.h \
- objc/objc-next-metadata-tags.h \
- objc/objc-runtime-hooks.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c \
- gt-objc-objc-next-runtime-abi-02.h \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- $(TARGET_H) \
- objc/objc-encoding.h \
- objc/objc-next-metadata-tags.h \
- objc/objc-runtime-hooks.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-
-# The following must be an explicit rule; please keep in sync with the implicit
-# one in Makefile.in.
-objcp/objcp-act.o : objc/objc-act.c \
- gt-objc-objc-act.h \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_H) $(FLAGS_H) input.h \
- toplev.h $(FUNCTION_H) output.h debug.h $(LANGHOOKS_DEF_H) \
- $(HASHTAB_H) $(GIMPLE_H) \
- $(RTL_H) $(EXPR_H) $(TARGET_H) \
- objcp/objcp-decl.h \
- objc/objc-encoding.h \
- objc/objc-map.h \
- objc/objc-runtime-hooks.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-objcp/objc-encoding.o : objc/objc-encoding.c \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- $(OBSTACK_H) \
- objc/objc-encoding.h \
- objc/objc-runtime-shared-support.h \
- objcp/objcp-decl.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
-
-objcp/objc-map.o : objc/objc-map.c \
- $(START_HDRS) \
- $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
- $(OBSTACK_H) \
- objc/objc-map.h
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
- $(OUTPUT_OPTION)
+objcp/objc-runtime-shared-support.o: objc/objc-runtime-shared-support.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objcp-act.o: objc/objc-act.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objc-encoding.o: objc/objc-encoding.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+objcp/objc-map.o: objc/objc-map.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
po-generated:
--
1.8.1.4