summaryrefslogtreecommitdiff
path: root/Makefile.common
diff options
context:
space:
mode:
authorJohn Criswell <criswell@uiuc.edu>2003-08-20 15:18:41 +0000
committerJohn Criswell <criswell@uiuc.edu>2003-08-20 15:18:41 +0000
commit9621a2b0731558dc811cedfea9e11f2418d7fb44 (patch)
tree43088c1a03ace571b9aa9c9ce98fafe0dc85b683 /Makefile.common
parente584285a22250d99d4cfb48a6e1001346e44eafd (diff)
downloadllvm-9621a2b0731558dc811cedfea9e11f2418d7fb44.tar.gz
llvm-9621a2b0731558dc811cedfea9e11f2418d7fb44.tar.bz2
llvm-9621a2b0731558dc811cedfea9e11f2418d7fb44.tar.xz
Modified the SUFFIXES pseudo targets so that we remove all default suffixes
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
Diffstat (limited to 'Makefile.common')
-rw-r--r--Makefile.common19
1 files changed, 11 insertions, 8 deletions
diff --git a/Makefile.common b/Makefile.common
index 4b2ecde436..5d7469a9e8 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -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.