| ##===- unittests/Makefile.unittest -------------------------*- Makefile -*-===## |
| # |
| # The LLVM Compiler Infrastructure |
| # |
| # This file is distributed under the University of Illinois Open Source |
| # License. See LICENSE.TXT for details. |
| # |
| ##===----------------------------------------------------------------------===## |
| # |
| # This file is included by all of the unit test makefiles. |
| # |
| ##===----------------------------------------------------------------------===## |
| |
| # Set up variables for building a unit test. |
| ifdef TESTNAME |
| |
| CPP.Flags += -DGTEST_HAS_RTTI=0 |
| # gcc's TR1 <tuple> header depends on RTTI, so force googletest to use |
| # its own tuple implementation. When we import googletest >=1.4.0, we |
| # can drop this line. |
| CPP.Flags += -DGTEST_HAS_TR1_TUPLE=0 |
| |
| include $(LEVEL)/Makefile.common |
| |
| LLVMUnitTestExe = $(BuildMode)/$(TESTNAME)Tests$(EXEEXT) |
| |
| CPP.Flags += -I$(LLVM_SRC_ROOT)/utils/unittest/googletest/include/ |
| CPP.Flags += $(NO_VARIADIC_MACROS) |
| TESTLIBS = -lGoogleTest -lUnitTestMain |
| |
| $(LLVMUnitTestExe): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) |
| $(Echo) Linking $(BuildMode) unit test $(TESTNAME) $(StripWarnMsg) |
| $(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(ProjLibsOptions) \ |
| $(TESTLIBS) $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) $(LIBS) |
| $(Echo) ======= Finished Linking $(BuildMode) Unit test $(TESTNAME) \ |
| $(StripWarnMsg) |
| |
| all:: $(LLVMUnitTestExe) |
| |
| unitcheck:: $(LLVMUnitTestExe) |
| $(LLVMUnitTestExe) |
| |
| endif |