Makefile: improve repo creation target, avoid := notation
The := notation is problematic here since it causes the statements on the right hand side to be dereferenced immediately even if the repo or .git target was not specified. When the source is checked out from a git clone, the .gitrev file does not exist, but the '$(shell cat .gitrev)' sequence is executed every time make is called and it produces an error message. Also, the '$(shell mktemp -d tmprepo.XXXXXX)' sequence is executed every time make is called, which creates a new unique tmprepo.XXXXXX directory each time. So, let's rework this target so that the := notation is avoided, and also to make it a little more efficient by avoiding an unnecessary checkout of the repository. There are two functional changes: 1) the temporary directory will just be called ".repo_tmp" and it will be overwritten each time 'make repo' is called, and 2) the checked out branch will keep its default name rather than adopting a new name 'working'. The user can create a new branch if they desire and the original remote branch state is already available in origin/master.
Showing
Please register or sign in to comment