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
This commit is contained in:
John Criswell 2003-08-20 15:18:41 +00:00
parent e584285a22
commit 9621a2b073
2 changed files with 22 additions and 16 deletions

View 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.

View 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.