|
17 | 17 | ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST)))
|
18 | 18 | export ERLANG_MK_FILENAME
|
19 | 19 |
|
20 |
| -ERLANG_MK_VERSION = 2019.07.01-18-g7edc30a |
| 20 | +ERLANG_MK_VERSION = 2019.07.01-32-g89f2eca |
21 | 21 | ERLANG_MK_WITHOUT =
|
22 | 22 |
|
23 | 23 | # Make 3.81 and 3.82 are deprecated.
|
@@ -1633,6 +1633,14 @@ pkg_escalus_fetch = git
|
1633 | 1633 | pkg_escalus_repo = https://github.com/esl/escalus
|
1634 | 1634 | pkg_escalus_commit = master
|
1635 | 1635 |
|
| 1636 | +PACKAGES += esh_mk |
| 1637 | +pkg_esh_mk_name = esh_mk |
| 1638 | +pkg_esh_mk_description = esh template engine plugin for erlang.mk |
| 1639 | +pkg_esh_mk_homepage = https://github.com/crownedgrouse/esh.mk |
| 1640 | +pkg_esh_mk_fetch = git |
| 1641 | +pkg_esh_mk_repo = https://github.com/crownedgrouse/esh.mk.git |
| 1642 | +pkg_esh_mk_commit = master |
| 1643 | + |
1636 | 1644 | PACKAGES += espec
|
1637 | 1645 | pkg_espec_name = espec
|
1638 | 1646 | pkg_espec_description = ESpec: Behaviour driven development framework for Erlang
|
@@ -5374,11 +5382,16 @@ define makedep.erl
|
5374 | 5382 | string:join(DirSubname ++ [atom_to_list(Target)], "/")
|
5375 | 5383 | end
|
5376 | 5384 | end,
|
5377 |
| - ok = file:write_file("$(1)", unicode:characters_to_binary([ |
| 5385 | + Output0 = [ |
5378 | 5386 | "# Generated by Erlang.mk. Edit at your own risk!\n\n",
|
5379 | 5387 | [[F, "::", [[" ", D] || D <- Deps], "; @touch \$$@\n"] || {F, Deps} <- Depend],
|
5380 | 5388 | "\nCOMPILE_FIRST +=", [[" ", TargetPath(CF)] || CF <- CompileFirst], "\n"
|
5381 |
| - ])), |
| 5389 | + ], |
| 5390 | + Output = case "é" of |
| 5391 | + [233] -> unicode:characters_to_binary(Output0); |
| 5392 | + _ -> Output0 |
| 5393 | + end, |
| 5394 | + ok = file:write_file("$(1)", Output), |
5382 | 5395 | halt()
|
5383 | 5396 | endef
|
5384 | 5397 |
|
@@ -5538,46 +5551,60 @@ test-deps: $(ALL_TEST_DEPS_DIRS)
|
5538 | 5551 | endif
|
5539 | 5552 |
|
5540 | 5553 | ifneq ($(wildcard $(TEST_DIR)),)
|
5541 |
| -test-dir: |
5542 |
| - $(gen_verbose) erlc -v $(TEST_ERLC_OPTS) -o $(TEST_DIR) \ |
5543 |
| - -pa ebin/ -I include/ $(call core_find,$(TEST_DIR)/,*.erl) |
| 5554 | +test-dir: $(ERLANG_MK_TMP)/$(PROJECT).last-testdir-build |
| 5555 | + @: |
| 5556 | + |
| 5557 | +test_erlc_verbose_0 = @echo " ERLC " $(filter-out $(patsubst %,%.erl,$(ERLC_EXCLUDE)),\ |
| 5558 | + $(filter %.erl %.core,$(notdir $(FILES_TO_COMPILE)))); |
| 5559 | +test_erlc_verbose_2 = set -x; |
| 5560 | +test_erlc_verbose = $(test_erlc_verbose_$(V)) |
| 5561 | + |
| 5562 | +define compile_test_erl |
| 5563 | + $(test_erlc_verbose) erlc -v $(TEST_ERLC_OPTS) -o $(TEST_DIR) \ |
| 5564 | + -pa ebin/ -I include/ $(1) |
| 5565 | +endef |
| 5566 | + |
| 5567 | +ERL_TEST_FILES = $(call core_find,$(TEST_DIR)/,*.erl) |
| 5568 | +$(ERLANG_MK_TMP)/$(PROJECT).last-testdir-build: $(ERL_TEST_FILES) $(MAKEFILE_LIST) |
| 5569 | + $(eval FILES_TO_COMPILE := $(if $(filter $(MAKEFILE_LIST),$?),$(filter $(ERL_TEST_FILES),$^),$?)) |
| 5570 | + $(if $(strip $(FILES_TO_COMPILE)),$(call compile_test_erl,$(FILES_TO_COMPILE)); touch $@) |
5544 | 5571 | endif
|
5545 | 5572 |
|
5546 | 5573 | test-build:: IS_TEST=1
|
5547 | 5574 | test-build:: ERLC_OPTS=$(TEST_ERLC_OPTS)
|
5548 | 5575 | test-build:: $(if $(wildcard src),$(if $(wildcard ebin/test),,clean)) $(if $(IS_APP),,deps test-deps)
|
5549 | 5576 | # We already compiled everything when IS_APP=1.
|
5550 | 5577 | ifndef IS_APP
|
5551 |
| -ifneq ($(wildcard $(TEST_DIR)),) |
5552 |
| - $(verbose) $(MAKE) --no-print-directory test-dir ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))" |
5553 |
| -endif |
5554 | 5578 | ifneq ($(wildcard src),)
|
5555 | 5579 | $(verbose) $(MAKE) --no-print-directory $(PROJECT).d ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))"
|
5556 | 5580 | $(verbose) $(MAKE) --no-print-directory app-build ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))"
|
5557 | 5581 | $(gen_verbose) touch ebin/test
|
5558 | 5582 | endif
|
| 5583 | +ifneq ($(wildcard $(TEST_DIR)),) |
| 5584 | + $(verbose) $(MAKE) --no-print-directory test-dir ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))" |
| 5585 | +endif |
5559 | 5586 | endif
|
5560 | 5587 |
|
5561 | 5588 | # Roughly the same as test-build, but when IS_APP=1.
|
5562 | 5589 | # We only care about compiling the current application.
|
5563 | 5590 | ifdef IS_APP
|
5564 | 5591 | test-build-app:: ERLC_OPTS=$(TEST_ERLC_OPTS)
|
5565 | 5592 | test-build-app:: deps test-deps
|
5566 |
| -ifneq ($(wildcard $(TEST_DIR)),) |
5567 |
| - $(verbose) $(MAKE) --no-print-directory test-dir ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))" |
5568 |
| -endif |
5569 | 5593 | ifneq ($(wildcard src),)
|
5570 | 5594 | $(verbose) $(MAKE) --no-print-directory $(PROJECT).d ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))"
|
5571 | 5595 | $(verbose) $(MAKE) --no-print-directory app-build ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))"
|
5572 | 5596 | $(gen_verbose) touch ebin/test
|
5573 | 5597 | endif
|
| 5598 | +ifneq ($(wildcard $(TEST_DIR)),) |
| 5599 | + $(verbose) $(MAKE) --no-print-directory test-dir ERLC_OPTS="$(call escape_dquotes,$(TEST_ERLC_OPTS))" |
| 5600 | +endif |
5574 | 5601 | endif
|
5575 | 5602 |
|
5576 | 5603 | clean:: clean-test-dir
|
5577 | 5604 |
|
5578 | 5605 | clean-test-dir:
|
5579 | 5606 | ifneq ($(wildcard $(TEST_DIR)/*.beam),)
|
5580 |
| - $(gen_verbose) rm -f $(TEST_DIR)/*.beam |
| 5607 | + $(gen_verbose) rm -f $(TEST_DIR)/*.beam $(ERLANG_MK_TMP)/$(PROJECT).last-testdir-build |
5581 | 5608 | endif
|
5582 | 5609 |
|
5583 | 5610 | # Copyright (c) 2015-2016, Loïc Hoguin <[email protected]>
|
@@ -6261,14 +6288,14 @@ endif
|
6261 | 6288 | CFLAGS += -I"$(ERTS_INCLUDE_DIR)" -I"$(ERL_INTERFACE_INCLUDE_DIR)"
|
6262 | 6289 | CXXFLAGS += -I"$(ERTS_INCLUDE_DIR)" -I"$(ERL_INTERFACE_INCLUDE_DIR)"
|
6263 | 6290 |
|
6264 |
| -LDLIBS += -L"$(ERL_INTERFACE_LIB_DIR)" -lerl_interface -lei |
| 6291 | +LDLIBS += -L"$(ERL_INTERFACE_LIB_DIR)" -lei |
6265 | 6292 |
|
6266 | 6293 | # Verbosity.
|
6267 | 6294 |
|
6268 |
| -c_verbose_0 = @echo " C " $(?F); |
| 6295 | +c_verbose_0 = @echo " C " $(filter-out $(notdir $(MAKEFILE_LIST) $(C_SRC_ENV)),$(^F)); |
6269 | 6296 | c_verbose = $(c_verbose_$(V))
|
6270 | 6297 |
|
6271 |
| -cpp_verbose_0 = @echo " CPP " $(?F); |
| 6298 | +cpp_verbose_0 = @echo " CPP " $(filter-out $(notdir $(MAKEFILE_LIST) $(C_SRC_ENV)),$(^F)); |
6272 | 6299 | cpp_verbose = $(cpp_verbose_$(V))
|
6273 | 6300 |
|
6274 | 6301 | link_verbose_0 = @echo " LD " $(@F);
|
|
0 commit comments