chef / concrete

Concrete enhances your rebar based Erlang project by providing a common Makefile wrapper, a dialyzer make target that caches PLT analysis of your project's dependencies, and a mechanism to specify development only dependencies.
Apache License 2.0
56 stars 15 forks source link

custom.mk is first so first target becomes default #23

Closed seth closed 10 years ago

seth commented 10 years ago

So I just tried adding a custom target to custom.mk after upgrading concrete in a project. The result surprised me because the target I added (for running some slow tests via slow_test) would run when I typed make. Pretty sure that makes sense: we include custom.mk first, and the first target becomes the default target.

You can get around this by adding .DEFAULT_GOAL := in custom.mk to reset the default. We could also set that in concrete.mk to force the concrete default (that sort of seems right here?).

Or we could include custom.mk afterwards, but I suspect there was a reason we put it first.

ping @joedevivo

joedevivo commented 10 years ago

custom.mk is included first so that any options you want to include can be made outside of any file that concrete update would overwrite. e.g. DIALYZER_OPTS

I agree with adding .DEFAULT_GOAL := all to the concrete.mk file or even the Makefile. I'll experiment with this today.

joedevivo commented 10 years ago

Addressed this in PR #22, so I didn't have to worry about file version numbers

joedevivo commented 10 years ago

Merged with #22