[llvm-commits] [llvm] r143662 - /llvm/trunk/Makefile.rules

Eli Friedman eli.friedman at gmail.com
Fri Nov 4 10:27:36 PDT 2011


On Thu, Nov 3, 2011 at 3:46 PM, Daniel Dunbar <daniel at zuster.org> wrote:
> Author: ddunbar
> Date: Thu Nov  3 17:46:21 2011
> New Revision: 143662
>
> URL: http://llvm.org/viewvc/llvm-project?rev=143662&view=rev
> Log:
> build/Make: Integrate llvm-build into Makefiles.
>  - Basically, we coordinate with llvm-build to create a Makefile fragment we can
>   easily use. For now, nothing is wired in except the support to automatically
>   regenerate this file when necessary.

This appears to be breaking builds on some buildbots; see
http://bb.pgr.jp/builders/clang-i686-msys
http://lab.llvm.org:8011/builders/clang-native-mingw32-win7 .

-Eli

> Modified:
>    llvm/trunk/Makefile.rules
>
> Modified: llvm/trunk/Makefile.rules
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=143662&r1=143661&r2=143662&view=diff
> ==============================================================================
> --- llvm/trunk/Makefile.rules (original)
> +++ llvm/trunk/Makefile.rules Thu Nov  3 17:46:21 2011
> @@ -57,6 +57,54 @@
>
>  $(UserTargets)::
>
> +#------------------------------------------------------------------------
> +# LLVMBuild Integration
> +#------------------------------------------------------------------------
> +#
> +# We use llvm-build to generate all the data required by the Makefile based
> +# build system in one swoop:
> +#
> +#  - We generate a file (a Makefile fragment) in the object root which contains
> +#    all the definitions that are required by Makefiles across the entire
> +#    project.
> +#
> +#  - We generate the library table used by llvm-config.
> +#
> +#  - We generate the dependencies for the Makefile fragment, so that we will
> +#    automatically reconfigure outselves.
> +
> +# The path to the llvm-build tool itself.
> +LLVMBuildTool  := $(PROJ_SRC_ROOT)/utils/llvm-build/llvm-build
> +
> +# The files we are going to generate using llvm-build.
> +LLVMBuildMakeFrag := $(PROJ_OBJ_ROOT)/Makefile.llvmbuild
> +LLVMConfigLibraryDependenciesInc := \
> +       $(PROJ_OBJ_ROOT)/tools/llvm-config/LibraryDependencies.inc
> +
> +# The rule to create the LLVMBuild Makefile fragment as well as the llvm-config
> +# library table.
> +#
> +# Note that this target gets its real dependencies generated for us by
> +# llvm-build.
> +$(LLVMBuildMakeFrag):
> +       $(EchoCmd) Constructing LLVMBuild project information. ; \
> +       $(LLVMBuildTool) \
> +         --write-library-table $(LLVMConfigLibraryDependenciesInc) \
> +         --write-make-fragment $(LLVMBuildMakeFrag)
> +
> +# Include the generated Makefile fragment.
> +#
> +# We currently only include the dependencies for the fragment itself if we are
> +# at the top-level. Otherwise, recursive invocations would ends up doing
> +# substantially more redundant stat'ing.
> +#
> +# This means that we won't properly regenerate things for developers used to
> +# building from a subdirectory, but that is always somewhat unreliable.
> +ifeq ($(LEVEL),.)
> +LLVMBUILD_INCLUDE_DEPENDENCIES := 1
> +endif
> +-include $(LLVMBuildMakeFrag)
> +
>  ################################################################################
>  # PRECONDITIONS: that which must be built/checked first
>  ################################################################################
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list