Modified the SUFFIXES pseudo targets so that we remove all default suffixes
authorJohn Criswell <criswell@uiuc.edu>
Wed, 20 Aug 2003 15:18:41 +0000 (15:18 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Wed, 20 Aug 2003 15:18:41 +0000 (15:18 +0000)
and explicitly declare all the ones we're using for LLVM.
This quickly cancels many of GNU Make's implicit rules and reduces build time.
The only caveat is that any new suffixes may need to be explictly added to
the .SUFFIXES pseudo target.

Removed the -only-static option as it is no longer used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7979 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.common
Makefile.rules

index 4b2ecde43679006f5c06cef4bc90be5be2b0e790..5d7469a9e8518985f57661de048c6dd2c37e6515 100644 (file)
@@ -169,6 +169,17 @@ prdirs::
        echo "LLVM  Source Root: " $(LLVM_SRC_ROOT)
        echo "LLVM  Object Root: " $(LLVM_OBJ_ROOT)
 
+###########################################################################
+# Suffixes and implicit rules:
+#      Empty out the list of suffixes, generate a list that is only
+#      used by this Makefile, and cancel useless implicit rules.   This
+#      will hopefully speed up compilation a little bit.
+###########################################################################
+.SUFFIXES:
+.SUFFIXES: .c .cpp .h .hpp .y .l
+.SUFFIXES: .lo .o .a .so .bc
+.SUFFIXES: .ps .dot .d
+
 #
 # Mark all of these targets as phony.  This will hopefully speed up builds
 # slightly since GNU Make will not try to find implicit rules for targets
@@ -212,11 +223,6 @@ ifdef ENABLE_PROFILING
   PROFILE = -pg
 endif
 
-#
-# Suffixes for library compilation rules
-#
-.SUFFIXES: .so
-
 ###########################################################################
 # Library Locations:
 #      These variables describe various library locations:
@@ -380,9 +386,6 @@ LinkP    := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PR
 
 # Create one .o file from a bunch of .o files...
 Relink := ${LIBTOOL} --mode=link $(CXX)
-ifndef SHARED_LIBRARY
-Relink += -only-static
-endif
 
 #
 # Configure where the item being compiled should go.
index 4b2ecde43679006f5c06cef4bc90be5be2b0e790..5d7469a9e8518985f57661de048c6dd2c37e6515 100644 (file)
@@ -169,6 +169,17 @@ prdirs::
        echo "LLVM  Source Root: " $(LLVM_SRC_ROOT)
        echo "LLVM  Object Root: " $(LLVM_OBJ_ROOT)
 
+###########################################################################
+# Suffixes and implicit rules:
+#      Empty out the list of suffixes, generate a list that is only
+#      used by this Makefile, and cancel useless implicit rules.   This
+#      will hopefully speed up compilation a little bit.
+###########################################################################
+.SUFFIXES:
+.SUFFIXES: .c .cpp .h .hpp .y .l
+.SUFFIXES: .lo .o .a .so .bc
+.SUFFIXES: .ps .dot .d
+
 #
 # Mark all of these targets as phony.  This will hopefully speed up builds
 # slightly since GNU Make will not try to find implicit rules for targets
@@ -212,11 +223,6 @@ ifdef ENABLE_PROFILING
   PROFILE = -pg
 endif
 
-#
-# Suffixes for library compilation rules
-#
-.SUFFIXES: .so
-
 ###########################################################################
 # Library Locations:
 #      These variables describe various library locations:
@@ -380,9 +386,6 @@ LinkP    := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PR
 
 # Create one .o file from a bunch of .o files...
 Relink := ${LIBTOOL} --mode=link $(CXX)
-ifndef SHARED_LIBRARY
-Relink += -only-static
-endif
 
 #
 # Configure where the item being compiled should go.