script: build: Fit to use out-of-tree build 85/272585/1
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 18 Mar 2022 09:50:49 +0000 (18:50 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 18 Mar 2022 10:14:02 +0000 (19:14 +0900)
The build script in amlogic has two board support. Built as
in-tree, re-build with differnt board causes almost fully changeed.
To avoid the unnecessary rebuild performance down, use out-of-tree
build with build directory for each board.

Change-Id: I9e4211c4ccfb55aed718ece7cb8b2f0a977351d3
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
build-amlogic.sh

index 2f2636d..27476a6 100755 (executable)
@@ -56,23 +56,23 @@ clear_extra_version()
 
 build_kernel()
 {
-       rm -f arch/arm64/boot/Image*
+       rm -f build-${BOARD}/arch/arm64/boot/Image*
 
        [ -d output/${OUT_DIR} ] || mkdir -p output/${OUT_DIR}
 
-       if ! [ -e .config ]; then
-               make tizen_${CONFIG}_defconfig
+       if ! [ -e build-${BOARD}/.config ]; then
+               make O=build-${BOARD} tizen_${CONFIG}_defconfig
        fi
-       make -j $NCPUS Image.gz dtbs
-       if [ ! -f "./arch/arm64/boot/Image.gz" ]; then
+       make O=build-${BOARD} -j $NCPUS Image.gz dtbs
+       if [ ! -f "./build-${BOARD}/arch/arm64/boot/Image.gz" ]; then
                echo "Build fail"
                clear_extra_version
                exit 1
        fi
 
-       cp arch/arm64/boot/dts/amlogic/${DTB1} ./output/
-       cp arch/arm64/boot/dts/amlogic/${DTB2} ./output/
-       cp arch/arm64/boot/Image.gz ./output/${OUT_DIR}/
+       cp build-${BOARD}/arch/arm64/boot/dts/amlogic/${DTB1} ./output/
+       cp build-${BOARD}/arch/arm64/boot/dts/amlogic/${DTB2} ./output/
+       cp build-${BOARD}/arch/arm64/boot/Image.gz ./output/${OUT_DIR}/
 }
 
 check_ext4_tool()
@@ -90,8 +90,8 @@ mk_modules()
 
        [ -d ${MOD_DIR} ] || mkdir ${MOD_DIR}
 
-       make -j $NCPUS modules
-       make modules_install INSTALL_MOD_PATH=${MOD_DIR} INSTALL_MOD_STRIP=1
+       make O=build-${BOARD} -j $NCPUS modules
+       make O=build-${BOARD} modules_install INSTALL_MOD_PATH=${PWD}/${MOD_DIR} INSTALL_MOD_STRIP=1
 }
 
 mk_modules_image()