[llvmlinux] Major update to the file hierarchy of LLVMLinux

Behan Webster behanw at converseincode.com
Sat Jul 7 02:17:31 UTC 2012


The file hierarchy was updated somewhat this week in the llvm-setup git 
repo. Jan-Simon and I did some work to further modularize and breakdown 
build steps into smaller pieces to make development steps smaller and 
faster. We also automated even more of the build process.

If you don't already have the code, you can find out how to get it on 
the Wiki:

     http://llvm.linuxfoundation.org/index.php/Quick_Start_Guide

The new directory structure is now as follows:

llvm-setup
|- common.mk       Top-level makefile include; included by all other 
Makfiles
|- arch            Architecture specific patches and scripts
|  |- all
|  |  |- all.mk    Common kernel make rules and defaults; included by 
common.mk
|  |  |- kernel    Mainline kernel git tree; git cloned by target builds
|  |  `- patches   clang kernel patches common to all architectures
|  |- arm
|  |  |- arm.mk    Arm kernel make rules and defaults; included by 
common.mk
|  |  |- bin       Scripts used by the arm architecture
|  |  `- patches   clang kernel patches for arm
|  |- mips
|  |  |- mips.mk   Arm kernel make rules and defaults; included by 
common.mk
|  |  |- bin       Scripts used by the mips architecture
|  |  `- patches   clang kernel patches for mips
|  `- x86_64
|     |- x86_86.mk Arm kernel make rules and defaults; included by 
common.mk
|     |- bin       Scripts used by the x86_64 architecture
|     `- patches   clang kernel patches for x86_64
|- targets         Build targets; choose a target for which to build a 
kernel
|  |- msm          Target build for the MSM board
|  |- template     Template files which can be used to build a new target
|  |- vexpress     Target build for the QEMU vexpress arm target
|  `- x86_64       Target build for the x86_64 platform
|- test            Testing related code
|  |- test.mk      Common test make rules and defaults; included by 
common.mk
|  |- initramfs    Small initramfs built with toybox and dash
|  |- ltp          The Linux Test project (currently compiled for arm)
|  `- qemu         The QEMU machine emulator used to test clang built 
kernels
|- toolchain       All relevent toolchains under test
|  |- toolchain.mk Common toolchain make rules and defaults; included by 
common.mk
|  |- arm-2011.03  The Codesourcery gcc arm cross-compiler
|  `- clang        The clang toolchain and LLVM
`- tools           General tools and scripts provided by the LLVMLinux 
project
    `- tools.mk     Common tool make rules and defaultsl included by 
common.mk

You'll also notice that all the patch directories are now quilt 
compatible, with a series file which is used by the Makefile for patch 
order.

Enjoy.

Behan

-- 
Behan Webster
behanw at converseincode.com



More information about the LLVMLinux mailing list