Makefile 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. export MINING_PUBKEY := EHmKL2U3vXfS5GYAY5aVnGdukfDWwvkQPCZXnjvZVShsSQi3UAuA4tQQpVwGJMzc9FfpTY8pLDkqhBGfWutiF4prrCktUH9oAWJxkXQBzAavKDc95NR3DjmYwnnw8GuugnK
  6. ## Build everything
  7. .PHONY: build
  8. build:
  9. cargo build --release
  10. ## Run all tests
  11. .PHONY: test
  12. test:
  13. cargo test --release
  14. .PHONY: install-choo
  15. install-choo: nuke-choo-data ## Install choo from this repo
  16. $(call show_env_vars)
  17. cargo install --locked --force --path crates/nockapp/apps/choo --bin choo
  18. .PHONY: ensure-dirs
  19. ensure-dirs:
  20. mkdir -p hoon
  21. mkdir -p assets
  22. .PHONY: build-trivial-new
  23. build-trivial-new: ensure-dirs
  24. $(call show_env_vars)
  25. echo '%trivial' > hoon/trivial.hoon
  26. choo --new --arbitrary hoon/trivial.hoon
  27. HOON_TARGETS=assets/dumb.jam assets/wal.jam
  28. .PHONY: nuke-choo-data
  29. nuke-choo-data:
  30. rm -rf .data.choo
  31. rm -rf ~/.nockapp/choo
  32. .PHONY: nuke-assets
  33. nuke-assets:
  34. rm -f assets/*.jam
  35. .PHONY: build-hoon-fresh
  36. build-hoon-fresh: nuke-assets nuke-choo-data install-choo ensure-dirs build-trivial-new $(HOON_TARGETS)
  37. $(call show_env_vars)
  38. .PHONY: build-hoon-new
  39. build-hoon-all: ensure-dirs build-trivial-new $(HOON_TARGETS)
  40. $(call show_env_vars)
  41. .PHONY: build-hoon
  42. build-hoon: ensure-dirs $(HOON_TARGETS)
  43. $(call show_env_vars)
  44. .PHONY: run-nockchain-leader
  45. run-nockchain-leader: # Run nockchain mode in leader mode
  46. $(call show_env_vars)
  47. mkdir -p test-leader && cd test-leader && RUST_BACKTRACE=1 cargo run --release --bin nockchain -- --fakenet --genesis-leader --npc-socket nockchain.sock --mining-pubkey $(MINING_PUBKEY) --bind /ip4/0.0.0.0/udp/3005/quic-v1 --peer /ip4/127.0.0.1/udp/3006/quic-v1 --new-peer-id --no-default-peers
  48. .PHONY: run-nockchain-follower
  49. run-nockchain-follower: # Run nockchain mode in follower mode
  50. $(call show_env_vars)
  51. mkdir -p test-follower && cd test-follower && RUST_BACKTRACE=1 cargo run --release --bin nockchain -- --fakenet --genesis-watcher --npc-socket nockchain.sock --mining-pubkey $(MINING_PUBKEY) --bind /ip4/0.0.0.0/udp/3006/quic-v1 --peer /ip4/127.0.0.1/udp/3005/quic-v1 --new-peer-id --no-default-peers
  52. HOON_SRCS := $(find hoon -type file -name '*.hoon')
  53. ## Build dumb.jam with choo
  54. assets/dumb.jam: hoon/apps/dumbnet/outer.hoon $(HOON_SRCS)
  55. $(call show_env_vars)
  56. RUST_LOG=trace choo hoon/apps/dumbnet/outer.hoon hoon
  57. mv out.jam assets/dumb.jam
  58. ## Build wal.jam with choo
  59. assets/wal.jam: hoon/apps/wallet/wallet.hoon $(HOON_SRCS)
  60. $(call show_env_vars)
  61. RUST_LOG=trace choo hoon/apps/wallet/wallet.hoon hoon
  62. mv out.jam assets/wal.jam