Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
e0273185
Commit
e0273185
authored
Jul 11, 2019
by
Gregor
Browse files
include buildinfo generation in makefile
parent
4b279939
Changes
3
Show whitespace changes
Inline
Side-by-side
Makefile
View file @
e0273185
...
...
@@ -274,7 +274,7 @@ endif # TARGET
#
ifndef
TARGET
all
:
toolchain sdk_pruned pre_build .subdirs
all
:
toolchain sdk_pruned pre_build
buildinfo
.subdirs
else
all
:
.subdirs $(OBJS) $(OLIBS) $(OIMAGES) $(OBINS) $(SPECIAL_MKTARGETS)
endif
...
...
@@ -412,6 +412,11 @@ pre_build:
@
-rm
-f
$(APP_DIR)
/modules/server-ca.crt.h
endif
.PHONY
:
buildinfo
buildinfo
:
tools/update_buildinfo.sh
ifdef
TARGET
$(OBJODIR)/%.o
:
%.c
@
mkdir
-p
$(
dir
$@
)
;
...
...
app/include/user_version.h
View file @
e0273185
...
...
@@ -2,7 +2,7 @@
#define __USER_VERSION_H__
#include "version.h"
/* ESP firmware header */
#include
"/tmp/
buildinfo.h
"
#include
<
buildinfo.h
>
#define NODE_VERSION_MAJOR ESP_SDK_VERSION_MAJOR
#define NODE_VERSION_MINOR ESP_SDK_VERSION_MINOR
...
...
tools/update_buildinfo.sh
View file @
e0273185
#!/usr/bin/env bash
USER_MODULES_H
=
app/include/user_modules.h
USER_CONFIG_H
=
app/include/user_config.h
BUILD_DATE
=
"
$(
date
"+%Y-%m-%d %H:%M"
)
"
COMMIT_ID
=
"
$(
git rev-parse HEAD
)
"
BRANCH
=
"
$(
git rev-parse
--abbrev-ref
HEAD |
sed
-r
's/[\/\\]+/_/g'
)
"
...
...
@@ -7,14 +10,14 @@ RELEASE="$(git describe --tags --long | sed -r 's/(.*)-(.*)-.*/\1 +\2/g' | sed '
RELEASE_DTS
=
0
$(
git show
-s
--format
=
%cd
--date
=
format:
"%Y%m%d%H%M"
HEAD
)
# figure out whether SSL is enabled in user_config.h
if
grep
-Eq
"^#define CLIENT_SSL_ENABLE"
../app/include/user_config.h
;
then
if
grep
-Eq
"^#define CLIENT_SSL_ENABLE"
$USER_CONFIG_H
;
then
SSL
=
"true"
else
SSL
=
"false"
fi
# figure out whether LFS configuration in user_config.h
LFS
=
$(
grep
"^#define LUA_FLASH_STORE"
../app/include/user_config.h
|
tr
-d
'\r'
|
cut
-d
' '
-f
3-
)
LFS
=
$(
grep
"^#define LUA_FLASH_STORE"
$USER_CONFIG_H
|
tr
-d
'\r'
|
cut
-d
' '
-f
3-
)
if
[
-z
"
$LFS
"
]
;
then
LFS
=
"disabled"
else
...
...
@@ -22,13 +25,13 @@ else
fi
# figure out whether Int build is enabled in user_config.h
if
grep
-Eq
"^#define LUA_NUMBER_INTEGRAL"
../app/include/user_config.h
;
then
if
grep
-Eq
"^#define LUA_NUMBER_INTEGRAL"
$USER_CONFIG_H
;
then
BUILD_TYPE
=
integer
else
BUILD_TYPE
=
float
fi
MODULES
=
$(
awk
'/^[ \t]*#define LUA_USE_MODULES/{modules=modules sep tolower(substr($2,17));sep=","}END{if(length(modules)==0)modules="-";print modules}'
../app/include/user_modules.h
|
tr
-d
'\r'
)
MODULES
=
$(
awk
'/^[ \t]*#define LUA_USE_MODULES/{modules=modules sep tolower(substr($2,17));sep=","}END{if(length(modules)==0)modules="-";print modules}'
$USER_MODULES_H
|
tr
-d
'\r'
)
# create temp buildinfo
TEMPFILE
=
/tmp/buildinfo.h
...
...
@@ -40,7 +43,8 @@ EndOfMessage
echo
"#define BUILDINFO_BRANCH
\"
"
$BRANCH
"
\"
"
>>
$TEMPFILE
echo
"#define BUILDINFO_COMMIT_ID
\"
"
$COMMIT_ID
"
\"
"
>>
$TEMPFILE
echo
"#define BUILDINFO_RELEASE
\"
"
$RELEASE
"
\"
"
>>
$TEMPFILE
echo
"#define BUILDINFO_RELEASE_DTS "
$RELEASE_DTS
""
>>
$TEMPFILE
echo
"#define BUILDINFO_RELEASE_DTS "
$RELEASE_DTS
>>
$TEMPFILE
echo
"#define BUILDINFO_RELEASE_DTS_STR
\"
"
$RELEASE_DTS
"
\"
"
>>
$TEMPFILE
echo
"#define BUILDINFO_SSL "
$SSL
>>
$TEMPFILE
echo
"#define BUILDINFO_SSL_STR
\"
"
$SSL
"
\"
"
>>
$TEMPFILE
echo
"#define BUILDINFO_BUILD_TYPE
\"
"
$BUILD_TYPE
"
\"
"
>>
$TEMPFILE
...
...
@@ -53,7 +57,7 @@ cat >> $TEMPFILE << EndOfMessage2
"
\t
branch: '" BUILDINFO_BRANCH "'
\n
"
\\
"
\t
commit: '" BUILDINFO_COMMIT_ID "'
\n
"
\\
"
\t
release: '" BUILDINFO_RELEASE "'
\n
"
\\
"
\t
release DTS: '" BUILDINFO_RELEASE_DTS "'
\n
"
\\
"
\t
release DTS: '" BUILDINFO_RELEASE_DTS
_STR
"'
\n
"
\\
"
\t
SSL: '" BUILDINFO_SSL_STR "'
\n
"
\\
"
\t
Build type: '" BUILDINFO_BUILD_TYPE "'
\n
"
\\
"
\t
LFS: '" BUILDINFO_LFS "'
\n
"
\\
...
...
@@ -61,8 +65,7 @@ cat >> $TEMPFILE << EndOfMessage2
EndOfMessage2
#echo "#define NODE_VERSION_LONG \"\\n\\tbranch: '"$BRANCH"'\\n\\tcommit: '"$COMMIT_ID"'\\n\\tSSL: '"$SSL"'\\n\\tBuild type: '"$BUILD_TYPE"'\\n\\tLFS: '"$LFS"'\\n\\tmodules: '"$MODULES"'\\n\"" >> $TEMPFILE
echo
"#endif /* __BUILDINFO_H__ */"
>>
$TEMPFILE
diff
-q
$TEMPFILE
app/include/buildinfo.h
||
cp
$TEMPFILE
app/include/buildinfo.h
rm
$TEMPFILE
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment