This page is the canonical source for build/test command workflow.
Run from project root:
make build
make test
make test-run
Purpose:
make build: native GCC development buildmake test: strict deterministic compile path (-Werror, -DTEST_MODE) and debugging (-g -O0)make test-run: scripted input regression pass (tests/smoke.*, tests/bandit_handover.*, tests/area_items.*, tests/map.*, tests/equipment.* includes wield, bag wielding line, and first combat attack under TEST_MODE RNG)Use PowerShell-driven DOS prep from Linux host shell to build and sync the DOS tree:
make prepare-dos
Start DOS and launch the existing DOS executable without rebuilding or refreshing the tree:
make run-dos
make run-dos expects a previously prepared DOS tree. Run make prepare-dos first if the mirrored DOS files or executable are missing.
Deterministic DOS validation:
make prepare-dos MODE=TEST_MODE
When changing build flow/tooling or other high-risk runtime behavior:
make all-build
make all-test
These targets intentionally exercise DOS prep/invocation and native GCC flow together.
make runs from Linux shell.prepare-dos.ps1 runs via Windows PowerShell.In prepare-dos.local.ps1:
$source should be Windows-reachable for Linux-hosted project files.$mountpoint, $destination, $dospath should be Windows-visible emulator paths../dosmud./dosmud.exe./build.log[T:0].help; tick remains unchanged. Enter help craft (or another topic); tick remains unchanged and a single-topic line prints.xyz); tick remains unchanged.look; tick remains unchanged.wait; tick increments by exactly 1.look, then move <listed-direction>; room changes and tick increments by 1.quit; process exits cleanly.2, then give <item> matching something you carry; the bandit should leave and the item should be removed.