• Jason Cooper's avatar
    kbuild: dtbs_install: new make target · f4d4ffc0
    Jason Cooper authored
    Unlike other build products in the Linux kernel, there is no 'make
    *install' mechanism to put devicetree blobs in a standard place.
    
    This commit adds a new 'dtbs_install' make target which copies all of
    the dtbs into the INSTALL_DTBS_PATH directory. INSTALL_DTBS_PATH can be
    set before calling make to change the default install directory. If not
    set then it defaults to:
    
    	$INSTALL_PATH/dtbs/$KERNELRELEASE.
    
    This is done to keep dtbs from different kernel versions separate until
    things have settled down.  Once the dtbs are stable, and not so strongly
    linked to the kernel version, the devicetree files will most likely move
    to their own repo.  Users will need to upgrade install scripts at that
    time.
    
    v7: (reworked by Grant Likely)
    - Moved rules from arch/arm/Makefile to arch/arm/boot/dts/Makefile so
      that each dtb install could have a separate target and be reported as
      part of the make output.
    - Fixed dependency problem to ensure $KERNELRELEASE is calculated before
      attempting to install
    - Removed option to call external script. Copying the files should be
      sufficient and a build system can post-process the install directory.
      Despite the fact an external script is used for installing the kernel,
      I don't think that is a pattern that should be encouraged. I would
      rather see buildroot type tools post process the install directory to
      rename or move dtb files after installing to a staging directory.
      - Plus it is easy to add a hook after the fact without blocking the
        rest of this feature.
    - Move the helper targets into scripts/Makefile.lib with the rest of the
      common dtb rules
    Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
    Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
    Cc: Michal Marek <mmarek@suse.cz>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: Rob Herring <robh+dt@kernel.org>
    f4d4ffc0
Makefile 11.8 KB