Checkin of autoconf-style object root.

Use QMTest for the feature and Regression tests.
Continue using the Makefile system for the Programs tests.
Adjusted the Makefile rules to handle building outside the source directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8381 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John Criswell 2003-09-06 15:12:21 +00:00
parent a37fefd064
commit ee29d2aa20
2 changed files with 39 additions and 20 deletions

View File

@ -1,7 +1,12 @@
LEVEL = .. LEVEL = ..
DIRS = Feature Regression Programs DIRS = Programs
include Makefile.tests include Makefile.tests
#
# Make QMTest the default for testing features and regressions
#
all:: qmtest
# #
# New QMTest functionality: # New QMTest functionality:
# The test suite is being transitioned over to QMTest. Eventually, it # The test suite is being transitioned over to QMTest. Eventually, it
@ -10,13 +15,7 @@ include Makefile.tests
# List of the functioning QM Tests # List of the functioning QM Tests
QMTESTS=feature \ QMTESTS=feature \
regression.assembler \ regression
regression.analysis \
regression.bugpoint \
regression.cbackend \
regression.jello \
regression.linker \
regression.other
# QMTest option specifying the location of the QMTest database. # QMTest option specifying the location of the QMTest database.
QMDB= -D $(LLVM_SRC_ROOT)/test/QMTestDB QMDB= -D $(LLVM_SRC_ROOT)/test/QMTestDB
@ -27,12 +26,13 @@ QMDB= -D $(LLVM_SRC_ROOT)/test/QMTestDB
# #
CONTEXT= -c srcroot=$(LLVM_SRC_ROOT) \ CONTEXT= -c srcroot=$(LLVM_SRC_ROOT) \
-c buildroot=$(LLVM_OBJ_ROOT) \ -c buildroot=$(LLVM_OBJ_ROOT) \
-c buildtype=$(CONFIGURATION) \ -c buildtype=$(CONFIGURATION) \
-c tmpdir=$(LLVM_OBJ_ROOT)/test/tmp \ -c tmpdir=$(LLVM_OBJ_ROOT)/test/tmp \
-c cc=$(CC) \ -c coresize=0 \
-c cxx=$(CXX) \ -c cc=$(CC) \
-c "llvmgcc=$(LLVMGCC)" \ -c cxx=$(CXX) \
-c make=$(MAKE) -c "llvmgcc=$(LLVMGCC)" \
-c make=$(MAKE)
# #
# Location of the QMTest program. # Location of the QMTest program.

View File

@ -56,10 +56,10 @@ LBUGPOINT= $(TOOLS)/bugpoint
LCCFLAGS += -O2 -Wall LCCFLAGS += -O2 -Wall
LCXXFLAGS += -O2 -Wall LCXXFLAGS += -O2 -Wall
LLCFLAGS = LLCFLAGS =
FAILURE = $(LEVEL)/test/Failure.sh FAILURE = $(LLVM_SRC_ROOT)/test/Failure.sh
TESTRUNR = @echo Running test: $<; \ TESTRUNR = @echo Running test: $<; \
PATH=$(LLVMTOOLCURRENT):$(LEVEL)/test/Scripts:$(PATH) \ PATH=$(LLVMTOOLCURRENT):$(LLVM_SRC_ROOT)/test/Scripts:$(PATH) \
$(LEVEL)/test/TestRunner.sh $(LLVM_SRC_ROOT)/test/TestRunner.sh
# Native Tool Definitions # Native Tool Definitions
NATGCC = $(CC) NATGCC = $(CC)
@ -85,15 +85,24 @@ clean::
$(RM) -rf Output/ $(RM) -rf Output/
# Compile from X.c to Output/X.ll # Compile from X.c to Output/X.ll
Output/%.ll: $(SourceDir)%.c $(LCC1) Output/.dir $(INCLUDES) Output/%.ll: $(SourceDir)/%.c $(LCC1) Output/.dir $(INCLUDES)
$(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@
Output/%.ll: %.c $(LCC1) Output/.dir $(INCLUDES)
$(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@ $(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@
# Compile from X.cpp to Output/X.ll # Compile from X.cpp to Output/X.ll
Output/%.ll: $(SourceDir)%.cpp $(LCC1XX) Output/.dir $(INCLUDES) Output/%.ll: $(SourceDir)/%.cpp $(LCC1XX) Output/.dir $(INCLUDES)
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@
Output/%.ll: %.cpp $(LCC1XX) Output/.dir $(INCLUDES)
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@ $(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@
# Compile from X.cc to Output/X.ll # Compile from X.cc to Output/X.ll
Output/%.ll: $(SourceDir)%.cc $(LCC1XX) Output/.dir $(INCLUDES) Output/%.ll: $(SourceDir)/%.cc $(LCC1XX) Output/.dir $(INCLUDES)
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@
Output/%.ll: %.cc $(LCC1XX) Output/.dir $(INCLUDES)
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@ $(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@
# LLVM Assemble from Output/X.ll to Output/X.bc. Output/X.ll must have come # LLVM Assemble from Output/X.ll to Output/X.bc. Output/X.ll must have come
@ -105,17 +114,27 @@ Output/%.bc: Output/%.ll $(LGCCAS)
# LLVM Assemble from X.ll to Output/X.bc. Because we are coming directly from # LLVM Assemble from X.ll to Output/X.bc. Because we are coming directly from
# LLVM source, use the non-transforming assembler. # LLVM source, use the non-transforming assembler.
# #
Output/%.bc: %.ll $(LAS) Output/.dir Output/%.bc: $(SourceDir)/%.ll $(LAS) Output/.dir
$(LAS) -f $< -o $@ $(LAS) -f $< -o $@
# #
# Testing versions of provided utilities... # Testing versions of provided utilities...
# #
Output/%.tll: $(SourceDir)/%.c $(LCC1) Output/.dir $(INCLUDES)
@echo "======== Compiling $<"
$(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@ || \
( rm -f $@; $(FAILURE) $@ )
Output/%.tll: %.c $(LCC1) Output/.dir $(INCLUDES) Output/%.tll: %.c $(LCC1) Output/.dir $(INCLUDES)
@echo "======== Compiling $<" @echo "======== Compiling $<"
$(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@ || \ $(LCC) $(CPPFLAGS) $(LCCFLAGS) -S $< -o $@ || \
( rm -f $@; $(FAILURE) $@ ) ( rm -f $@; $(FAILURE) $@ )
Output/%.tll: $(SourceDir)/%.cpp $(LCC1XX) Output/.dir $(INCLUDES)
@echo "======== Compiling $<"
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@ || \
( rm -f $@; $(FAILURE) $@ )
Output/%.tll: %.cpp $(LCC1XX) Output/.dir $(INCLUDES) Output/%.tll: %.cpp $(LCC1XX) Output/.dir $(INCLUDES)
@echo "======== Compiling $<" @echo "======== Compiling $<"
$(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@ || \ $(LCXX) $(CPPFLAGS) $(LCXXFLAGS) -S $< -o $@ || \