aboutsummaryrefslogtreecommitdiffstats
path: root/core/core.mk
AgeCommit message (Collapse)Author
2015-07-04Add $(verbose) to avoid completely silencing commandsLoïc Hoguin
2015-07-04Allow changing template whitespaceLoïc Hoguin
By default templates use tabs. Unfortunately there are misguided heretics who prefer spaces. Bummer. Two variables are introduced: * SP=<number> can be set to use <number> spaces per indentation level. * WS=<string> can be set to use <string> for each indentation level. Most users will just want to use SP, for example: make new t=gen_server n=my_server SP=4 Note that people who want tabs don't have to do anything; tabs are still the default. WS is reserved for advanced users. Normal Make rules apply: all whitespaces are trimmed. To specify 4 spaces using WS, you can do the following: make new t=gen_server n=my_server WS='$(empty) $(empty)' Ugly, right? So just use SP. Finally, SP and WS can be put in your Makefile directly. In fact, erlang.mk will automatically add SP to a newly created project if it was used during creation. For example: make -f erlang.mk bootstrap SP=2 So in time we should only need to make a note in the docs at project creation time, as there is very little value after that point.
2015-07-02Reduce dependency on external programsLoïc Hoguin
This commit implements a core_find and core_ls function that can be used to list files recursively or not. A few other minute changes are included and a couple hacks removed.
2015-06-28Bundle the package index directly inside erlang.mkLoïc Hoguin
If you were using the index file as a "lock file", bear with me for a moment, equivalent functionality will soon be added. :-)
2015-06-18Use the real path instead of symbolic links to erlang.mkLoïc Hoguin
This will fix some issues where a symbolic link can link to another symbolic link (Cowboy examples), and issues where symbolic links can't be used (VirtualBox shared folders).
2015-06-14Generate the .app file directly from the MakefileLoïc Hoguin
This removes the need for a .app.src file entirely. The PROJECT_* variables and the OTP_DEPS variable allow us to specify everything we need. REL_DEPS and BUILD_DEPS will be added later on to allow users to cleanly specify those without adding them to the .app file.
2015-06-04Fetch the whole of rebar when patching rebar depsLoïc Hoguin
Necessary for increased compatibility as we de-rebarize those dependencies.
2015-05-19Import rebar_utils for improved compatibilityLoïc Hoguin
This allows us to skip some of the worst hacks and improve compatibility since we are using the original code.
2015-05-15Add support for rebar.config.scriptLoïc Hoguin
2015-05-15Replace make with $(MAKE) for BSD compatibilityLoïc Hoguin
2015-05-14Get rid of the autopatch hack for properLoïc Hoguin
2015-05-10Convert the Erlang version of core_http_get to an Erlang snippetLoïc Hoguin
2015-05-10Fix an issue with escaping double quotes of Erlang snippetsLoïc Hoguin
2015-05-09Add a 'run' command to run the relx releaseLoïc Hoguin
Should only be used during development. Stolen idea from Tristan Sloughter who stole it from Ahmad Sherif. This commit also introduces the 'erlang' function for executing Erlang code written directly in the Makefile. The rest of the project will eventually move to using it as it's much cleaner than the previous solution.
2015-05-07Add a check targetLoïc Hoguin
Compiles, runs tests and runs all sorts of analysis like Dialyzer.
2015-05-07Add Asciidoc documentation supportLoïc Hoguin
2015-01-12Update copyright yearLoïc Hoguin
Also added a copyright line in the eunit plugin due to the extensive work I have done there a few days ago.
2015-01-10Introduce test builds and unify testing tools interfaceLoïc Hoguin
The general idea is that erlang.mk now keeps track of what kind of build it generated. A test build is valid for all subsequent test target invocations. A normal build is only valid for itself and releases. This rework adds the ability to specify deps to eunit. The EUNIT_DIR variable is gone in favor of a more global TEST_DIR. The tests-ct target got renamed to ct and documented. Many more minor changes were done during the course of testing these changes.
2015-01-10Improve the target 'all'Loïc Hoguin
No more plugin stuff creeping into core.
2015-01-08Temporary fix: don't run rel if not needed with -jLoïc Hoguin
2015-01-08Speed up "erl" invocationsLoïc Hoguin
Use "+A0 -noinput -boot start_clean" as start argument. Use halt/{1,2} to shutdown the VM faster.
2015-01-07Fix parallel compilationLoïc Hoguin
Parallel compilation is now only enabled for "make" and "make deps app". To ensure order we spawn a new Make process for "deps", "app" and "rel" when the "all" target (or no target) is used.
2015-01-06Document parallel execution (-j flag)Loïc Hoguin
2014-11-05Add an erlang-mk target for automated updating of erlang.mkLoïc Hoguin
2014-09-12Merge branch 'wget_fallback' of git://github.com/crownedgrouse/erlang.mkLoïc Hoguin
2014-09-11Add wget fallbackcrownedgrouse
2014-07-25Strip whitespace around the PROJECT variableLoïc Hoguin
2014-05-28Cut erlang.mk into many small componentsLoïc Hoguin
* The build.config says what gets into the generated erlang.mk. * The default erlang.mk in the repository hasn't changed yet. * Clean targets were separated into "clean" and "distclean". * The "help" target was added to display some help message. I probably broke a couple things...