summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorLukas Larsson <lukas@erlang.org>2021-12-21 11:09:38 +0100
committerLukas Larsson <lukas@erlang.org>2022-01-21 09:26:45 +0100
commit381c19a6bc853f63a73e32d137a7787a0a24c3c2 (patch)
treeab6e9305d23869e9e31aec88560f7cb185b642ea /Makefile.in
parent3ee855772ae7b24336038d34d95fa8169f886a5a (diff)
downloaderlang-381c19a6bc853f63a73e32d137a7787a0a24c3c2.tar.gz
otp: Add DEVELOPMENT howto and complete `make test` support
This commit polishes a lot of the make system to be more robust and hopefully user friendly. A new DEVELOPMENT howto guide has been added with instructions on how to work with the Erlang/OTP code and the `make test` functionality has been fixed so that it should work for all applications. In order to solve the problem of some applications relying on being tested using a release, each application has been instrumented in its Makefile so that it knows if a release has to be done or not.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in19
1 files changed, 17 insertions, 2 deletions
diff --git a/Makefile.in b/Makefile.in
index 5b666a4fd8..a2d7ab7d85 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -472,7 +472,7 @@ BOOTSTRAP_COMPILER = $(BOOTSTRAP_TOP)/primary_compiler
# otp.mk is only used to figure out if we are doing PGO or not
include $(ERL_TOP)/make/$(TARGET)/otp.mk
-.PHONY: emulator libs kernel preloaded
+.PHONY: emulator libs kernel preloaded system
ifeq ($(USE_PGO), true)
PROFILE=use
@@ -485,6 +485,13 @@ PROFILE=
PROFILE_EMU_DEPS=
endif
+emulator_test: emulator
+ $(make_verbose)cd erts/emulator && ERL_TOP=$(ERL_TOP) TYPE=$(TYPE) $(MAKE) test
+epmd_test:
+ $(make_verbose)cd erts/epmd && ERL_TOP=$(ERL_TOP) TYPE=$(TYPE) $(MAKE) test
+system_test:
+ $(make_verbose)cd erts && ERL_TOP=$(ERL_TOP) TYPE=$(TYPE) $(MAKE) test
+
emulator: $(PROFILE_EMU_DEPS)
$(make_verbose)cd erts && ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)"$${PATH}" \
$(MAKE) NO_START_SCRIPTS=true $(TYPE) FLAVOR=$(FLAVOR) PROFILE=$(PROFILE)
@@ -516,7 +523,7 @@ NO_DIALYZER_APPS=$(filter-out dialyzer, $(APPS)) ## The dialyzer make target sho
$(NO_DIALYZER_APPS):
$(make_verbose)cd lib/$@ && \
ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)"$${PATH}" \
- $(MAKE) $(TYPE) BUILD_ALL=true
+ $(MAKE) $(TYPE)
##
## Generate `otp_internal` from the -deprecated() attributes in source.
@@ -1240,5 +1247,13 @@ bootstrap_clean:
test: all release release_tests
$(ERL_TOP)/make/test_target_script.sh $(ERL_TOP)
+ifeq ($(TYPE),)
dialyzer: all
$(ERL_TOP)/scripts/run-dialyzer
+endif
+
+APPS_TEST=$(patsubst %, %_test,$(APPS))
+
+.SECONDEXPANSION:
+$(APPS_TEST): $$(patsubst %_test,%,$$@)
+ ERL_TOP=$(ERL_TOP) TYPE=$(TYPE) $(MAKE) -C lib/$< test