diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/plugin_shell.mk | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/plugin_shell.mk b/test/plugin_shell.mk new file mode 100644 index 0000000..474ef92 --- /dev/null +++ b/test/plugin_shell.mk @@ -0,0 +1,37 @@ +# Shell plugin. + +SHELL_CASES = default kjell +SHELL_TARGETS = $(addprefix shell-,$(SHELL_CASES)) +SHELL_CLEAN_TARGETS = $(addprefix clean-,$(SHELL_TARGETS)) + +.PHONY: shell $(C_SRC_TARGETS) clean-shell $(SHELL_CLEAN_TARGETS) + +clean-shell: $(SHELL_CLEAN_TARGETS) + +$(SHELL_CLEAN_TARGETS): + $t rm -rf $(APP_TO_CLEAN)/ + +shell: $(SHELL_TARGETS) + +shell-default: build clean-shell-default + + $i "Bootstrap a new OTP library named $(APP)" + $t mkdir $(APP)/ + $t cp ../erlang.mk $(APP)/ + $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v + + $i "Run the shell" + $t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v + +shell-kjell: build clean-shell-kjell + + $i "Bootstrap a new OTP library named $(APP)" + $t mkdir $(APP)/ + $t cp ../erlang.mk $(APP)/ + $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v + + $i "Add Kjell to the list of shell dependencies and set as default shell" + $t perl -ni.bak -e 'print;if ($$.==1) {print "SHELL_DEPS = kjell\nSHELL_ERL = \$$(DEPS_DIR)/kjell/bin/kjell\n"}' $(APP)/Makefile + + $i "Run the shell" + $t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v |