blob: 301e4421e03d5b161352fa7c692b4fa5f7cb3fb7 [file] [log] [blame]
xiaohu.huangf4577f72022-11-08 17:56:02 +08001#!/bin/sh
2#
3# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
4#
5# SPDX-License-Identifier: MIT
6#
7
8RTOS_SDK_VERSION_FILE=$1
9RTOS_SDK_MANIFEST_FILE=$2
10RTOS_SDK_MANIFEST_OLD_FILE=$3
11
12echo "#ifndef __SDK_VER_H__" > $RTOS_SDK_VERSION_FILE
13echo "#define __SDK_VER_H__" >> $RTOS_SDK_VERSION_FILE
14echo "" >> $RTOS_SDK_VERSION_FILE
15
16echo -e "#include <stdio.h>\n" >> $RTOS_SDK_VERSION_FILE
17
18COMPILE_TIME=`date +%F" "%T`
19echo "#define CONFIG_BOARD_NAME \"$BOARD\"" >> $RTOS_SDK_VERSION_FILE
20echo "#define CONFIG_PRODUCT_NAME \"$PRODUCT\"" >> $RTOS_SDK_VERSION_FILE
21echo "#define CONFIG_COMPILE_TIME \"$COMPILE_TIME\"" >> $RTOS_SDK_VERSION_FILE
22# Get SDK_VERSION
23pattern="revision="
24keyline=`grep 'default .* revision' $RTOS_SDK_MANIFEST_FILE`
25for keyword in $keyline; do
26 let i++
27 if [[ $keyword == $pattern* ]]; then
28 SDK_VERSION=`echo ${keyword#*${pattern}} | sed 's/\"//g' | sed 's/\/>//g'`
29 break;
30 fi
31done
32echo "#define CONFIG_VERSION_STRING \"$SDK_VERSION\"" >> $RTOS_SDK_VERSION_FILE
33echo "" >> $RTOS_SDK_VERSION_FILE
34
35echo "const char* version_map[] = {" >> $RTOS_SDK_VERSION_FILE
36printf " \"[%-7s %-12s %-12s]\",\n" "cm_hash" "remote_name" "branch" \
37 >> $RTOS_SDK_VERSION_FILE
38GIT_LISTS=$(find ! -path "*/.repo/*" -name ".git")
39for PRODUCT_PATH in $GIT_LISTS;
40do
41 if [ -d $PRODUCT_PATH ];then
42 #echo $PRODUCT_PATH
43 GIT_REMOTE_NAME="$(cd $PRODUCT_PATH && git remote -v 2>/dev/null \
44 | head -n 1 | cut -d " " -f 1)"
45 GIT_NAME=${GIT_REMOTE_NAME##*rtos_sdk/}
46 GIT_1ST_NAME="$(echo ${GIT_NAME} | cut -d / -f 1)"
47 GIT_2ND_NAME=${GIT_REMOTE_NAME##*/}
48 COMMIT_HASH="$(cd $PRODUCT_PATH && git log --oneline -1 2>/dev/null \
49 | head -n 1 | cut -d " " -f 1)"
50 BRANCH=$(cd $PRODUCT_PATH && git branch 2>/dev/null | grep "\*" | cut -d " " -f 2)
51 BRANCH=${BRANCH##*"/"}
52 if [ "${GIT_1ST_NAME}"x = "${GIT_2ND_NAME}"x ];then
53 printf " \"[%-7s %-12s %-12s]\",\n" $COMMIT_HASH \
54 ${GIT_1ST_NAME:0:12} ${BRANCH:0:12} >> $RTOS_SDK_VERSION_FILE
55 else
56 printf " \"[%-7s %-4s %-7s %-12s]\",\n" $COMMIT_HASH \
57 ${GIT_1ST_NAME:0:4} ${GIT_2ND_NAME:0:7} ${BRANCH:0:12} \
58 >> $RTOS_SDK_VERSION_FILE
59 fi
60 else
61 echo "product path:$PRODUCT_PATH is not exist,please check it..."
62 fi
63done
64echo "};" >> $RTOS_SDK_VERSION_FILE
65
66echo "#ifdef CONFIG_VERSION_FULL_INFO" >> $RTOS_SDK_VERSION_FILE
67echo "#define OUTPUT_VERSION_FULL_INFO() \\
68do{ \\
69 for (int i = 0; i < sizeof(version_map) / sizeof(const char*); i++) \\
70 printf(\"%s\\n\", version_map[i]); \\
71} \\
72while(0)" >> $RTOS_SDK_VERSION_FILE
73echo "#else" >> $RTOS_SDK_VERSION_FILE
74echo -e "#define OUTPUT_VERSION_FULL_INFO()">> $RTOS_SDK_VERSION_FILE
75echo "#endif" >> $RTOS_SDK_VERSION_FILE
76
77echo "" >> $RTOS_SDK_VERSION_FILE
78echo "#endif" >> $RTOS_SDK_VERSION_FILE