Makefile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. .PHONY: build
  7. build: build-hoon-all build-rust
  8. $(call show_env_vars)
  9. ## Build all rust
  10. .PHONY: build-rust
  11. build-rust:
  12. cargo build --release
  13. ## Run all tests
  14. .PHONY: test
  15. test:
  16. cargo test --release
  17. .PHONY: install-hoonc
  18. install-hoonc: nuke-hoonc-data ## Install hoonc from this repo
  19. $(call show_env_vars)
  20. cargo install --locked --force --path crates/hoonc --bin hoonc
  21. .PHONY: update-hoonc
  22. update-hoonc:
  23. $(call show_env_vars)
  24. cargo install --locked --path crates/hoonc --bin hoonc
  25. .PHONY: install-nockchain
  26. install-nockchain: build-hoon-all
  27. $(call show_env_vars)
  28. cargo install --locked --force --path crates/nockchain --bin nockchain
  29. .PHONY: update-nockchain
  30. update-nockchain: build-hoon-all
  31. $(call show_env_vars)
  32. cargo install --locked --path crates/nockchain --bin nockchain
  33. .PHONY: install-nockchain-wallet
  34. install-nockchain-wallet: build-hoon-all
  35. $(call show_env_vars)
  36. cargo install --locked --force --path crates/nockchain-wallet --bin nockchain-wallet
  37. .PHONY: update-nockchain-wallet
  38. update-nockchain-wallet: build-hoon-all
  39. $(call show_env_vars)
  40. cargo install --locked --path crates/nockchain-wallet --bin nockchain-wallet
  41. .PHONY: ensure-dirs
  42. ensure-dirs:
  43. mkdir -p hoon
  44. mkdir -p assets
  45. .PHONY: build-trivial
  46. build-trivial: ensure-dirs
  47. $(call show_env_vars)
  48. echo '%trivial' > hoon/trivial.hoon
  49. hoonc --arbitrary hoon/trivial.hoon
  50. HOON_TARGETS=assets/dumb.jam assets/wal.jam
  51. .PHONY: nuke-hoonc-data
  52. nuke-hoonc-data:
  53. rm -rf .data.hoonc
  54. rm -rf ~/.nockapp/hoonc
  55. .PHONY: nuke-assets
  56. nuke-assets:
  57. rm -f assets/*.jam
  58. .PHONY: build-hoon-all
  59. build-hoon-all: nuke-assets update-hoonc ensure-dirs build-trivial $(HOON_TARGETS)
  60. $(call show_env_vars)
  61. .PHONY: build-hoon
  62. build-hoon: ensure-dirs update-hoonc $(HOON_TARGETS)
  63. $(call show_env_vars)
  64. .PHONY: run-nockchain-leader
  65. run-nockchain-leader: # Run nockchain mode in leader mode
  66. $(call show_env_vars)
  67. mkdir -p test-leader && cd test-leader && rm -f nockchain.sock && 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
  68. .PHONY: run-nockchain-follower
  69. run-nockchain-follower: # Run nockchain mode in follower mode
  70. $(call show_env_vars)
  71. mkdir -p test-follower && cd test-follower && rm -f nockchain.sock && 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
  72. HOON_SRCS := $(find hoon -type file -name '*.hoon')
  73. ## Build dumb.jam with hoonc
  74. assets/dumb.jam: update-hoonc hoon/apps/dumbnet/outer.hoon $(HOON_SRCS)
  75. $(call show_env_vars)
  76. RUST_LOG=trace hoonc hoon/apps/dumbnet/outer.hoon hoon
  77. mv out.jam assets/dumb.jam
  78. ## Build wal.jam with hoonc
  79. assets/wal.jam: update-hoonc hoon/apps/wallet/wallet.hoon $(HOON_SRCS)
  80. $(call show_env_vars)
  81. RUST_LOG=trace hoonc hoon/apps/wallet/wallet.hoon hoon
  82. mv out.jam assets/wal.jam