plugin_shell.mk 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Shell plugin.
  2. SHELL_CASES = default kjell
  3. SHELL_TARGETS = $(addprefix shell-,$(SHELL_CASES))
  4. SHELL_CLEAN_TARGETS = $(addprefix clean-,$(SHELL_TARGETS))
  5. .PHONY: shell $(C_SRC_TARGETS) clean-shell $(SHELL_CLEAN_TARGETS)
  6. clean-shell: $(SHELL_CLEAN_TARGETS)
  7. $(SHELL_CLEAN_TARGETS):
  8. $t rm -rf $(APP_TO_CLEAN)/
  9. shell: $(SHELL_TARGETS)
  10. shell-default: build clean-shell-default
  11. $i "Bootstrap a new OTP library named $(APP)"
  12. $t mkdir $(APP)/
  13. $t cp ../erlang.mk $(APP)/
  14. $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
  15. $i "Run the shell"
  16. $t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v
  17. shell-kjell: build clean-shell-kjell
  18. $i "Bootstrap a new OTP library named $(APP)"
  19. $t mkdir $(APP)/
  20. $t cp ../erlang.mk $(APP)/
  21. $t $(MAKE) -C $(APP) -f erlang.mk bootstrap-lib $v
  22. $i "Add Kjell to the list of shell dependencies and set as default shell"
  23. $t perl -ni.bak -e 'print;if ($$.==1) {print "SHELL_DEPS = kjell\nSHELL_ERL = \$$(DEPS_DIR)/kjell/bin/kjell\n"}' $(APP)/Makefile
  24. $i "Run the shell"
  25. $t $(MAKE) -C $(APP) shell SHELL_OPTS="-eval 'halt()'" $v