Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-09-06 | Add tests for user generated Erlang source files | Loïc Hoguin | |
2015-09-03 | Add missing link to app.asciidoc in guide index | Loïc Hoguin | |
2015-09-02 | app.asciidoc: Document how to handle generated source files | Jean-Sébastien Pédron | |
2015-09-02 | Add dependency tracking (makedep) | Loïc Hoguin | |
This is a very large change of a central part of Erlang.mk. I will admit that I am not quite confident on that one. If you do have issues following this change, please open a ticket and I will look at it immediately. At this point, it works for me, but I wouldn't be surprised to hear about a few minor issues. This commit introduces a dependency file $(PROJECT).d which contains Makefile rules between Erlang source files and headers, behaviors and parse_transforms. This allows us to rebuild only the files that are needed. The $(PROJECT).d is generated automatically when missing, and when any of the files change. It is possible to hook before and after this generation, by defining a $(PROJECT).d:: rule. This allows users to generate Erlang files which are then compiled by Erlang.mk automatically (and to track their dependencies, of course). Here goes nothing... | |||
2015-09-02 | Disable concurrent building entirely | Loïc Hoguin | |
Two reasons for doing this: * The current solution for enforcing sequential operations makes a lot of things slower. Either we do it properly or we don't. * Most of Erlang.mk is sequential by nature. There is very little to gain from Make's own parallel building. Something more interesting would be to enable fetching of dependencies concurrently by other means, and enable compilation of Erlang files concurrently (requires patching OTP). | |||
2015-08-27 | Add support for external plugins | Loïc Hoguin | |
Plugins can automatically be fetched and included from dependencies. All that is needed is to add either the dependency name or the name + path of the plugin to the DEP_PLUGINS variable. Useful for allowing tools to easily add support for new targets, adding templates or for putting the whole build ecosystem in one common dependency. | |||
2015-08-22 | Add first three chapters of new documentation | Loïc Hoguin | |