
Build Golang projects properly with Makefiles - ahacker15
http://pt.slideshare.net/RaPz1/build-golang-projects-properly-with-makefiles
======
dozzie

      BUILD=`git rev-parse HEAD`
      LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}"
      # ...
      $(BINARY):
          go build ${LDFLAGS} -o {$BINARY} ./..
    

Please don't do that. This ties the build process to be run from inside the
git repository, which starts to be a problem if you have any sane method of
code deployment (building source packages). Think of something different.

And yes, there is a typo in the build rules.

~~~
jquast
I rather prefer this scenario, labeling a package release with vcs revision id
or even branch name, for example.

------
Annatar

      ${BINARY}: main.go
        go build $< -o $@
    

this way, make will know to re-build the binary only if the source code has
changed.

