Makefile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Set env variables
  2. export RUST_BACKTRACE := full
  3. export RUST_LOG := info,nockchain=debug,nockchain_libp2p_io=info,libp2p=info,libp2p_quic=info
  4. export MINIMAL_LOG_FORMAT := true
  5. ## Build everything
  6. .PHONY: build
  7. build:
  8. cargo build --release
  9. ## Run all tests
  10. .PHONY: test
  11. test:
  12. cargo test --release
  13. .PHONY: install-choo
  14. install-choo: nuke-choo-data ## Install choo from this repo
  15. $(call show_env_vars)
  16. cargo install --locked --force --path crates/nockapp/apps/choo --bin choo
  17. .PHONY: ensure-dirs
  18. ensure-dirs:
  19. mkdir -p hoon
  20. mkdir -p assets
  21. .PHONY: build-trivial-new
  22. build-trivial-new: ensure-dirs
  23. $(call show_env_vars)
  24. echo '%trivial' > hoon/trivial.hoon
  25. choo --new --arbitrary hoon/trivial.hoon
  26. HOON_TARGETS=assets/dumb.jam assets/wal.jam
  27. .PHONY: nuke-choo-data
  28. nuke-choo-data:
  29. rm -rf .data.choo
  30. rm -rf ~/.nockapp/choo
  31. .PHONY: nuke-assets
  32. nuke-assets:
  33. rm -f assets/*.jam
  34. .PHONY: build-hoon-fresh
  35. build-hoon-fresh: nuke-assets nuke-choo-data install-choo ensure-dirs build-trivial-new $(HOON_TARGETS)
  36. $(call show_env_vars)
  37. .PHONY: build-hoon-new
  38. build-hoon-all: ensure-dirs build-trivial-new $(HOON_TARGETS)
  39. $(call show_env_vars)
  40. .PHONY: build-hoon
  41. build-hoon: ensure-dirs $(HOON_TARGETS)
  42. $(call show_env_vars)
  43. HOON_SRCS := $(find hoon -type file -name '*.hoon')
  44. ## Build dumb.jam with choo
  45. assets/dumb.jam: hoon/apps/dumbnet/outer.hoon $(HOON_SRCS)
  46. $(call show_env_vars)
  47. RUST_LOG=trace choo hoon/apps/dumbnet/outer.hoon hoon
  48. mv out.jam assets/dumb.jam
  49. ## Build wal.jam with choo
  50. assets/wal.jam: hoon/apps/wallet/wallet.hoon $(HOON_SRCS)
  51. $(call show_env_vars)
  52. RUST_LOG=trace choo hoon/apps/wallet/wallet.hoon hoon
  53. mv out.jam assets/wal.jam