target: dependency
<commands>
...instead of target:
make dependency
<commands>
Doing it this way actually breaks dependency checks. It's just plain wrong.Here's a "proper" Makefile, complete with conditionals, expansion, etc.:
https://github.com/rcarmo/sushy/blob/master/Makefile
...and here's one of my Go Makefiles (no sub-targets here, but does vendoring in a way that's quite similar to what Go 1.5 turned out to adopt)
https://github.com/rcarmo/go-rss2imap/blob/master/Makefile
(edit: whitespace)
One of my Makefiles: https://github.com/liveplant/liveplant-server/blob/master/Ma...
Definitely open to feedback on the above. Seems like my Makefile doing pretty much the same thing as yours @rcarmo.
There is one little caveat when using boot2docker, in that when you're running tests on a separate terminal you need to be careful to remember to do $(boot2docker shellinit) _and_ expose container ports so that they're visible outside the boot2docker VM - so check your IPs and make sure your containers log the environment variables they're using for links, so that you can check where to connect your tests :)
For automated tests, I simply have a test service which I start with `docker-compose up test` and I can link services my tests need from inside `docker-compose.yml`.
For manual testing, I added `192.168.59.103 docker` to my `/etc/hosts` file (the boot2docker IP doesn't seem to change) and expose ports on the boot2docker VM though that means I can't test two containers which expose the same port simultaneously.