Build from source
This page explains how to use the project Makefile to set up dependencies, build the mod package, and run/install it for Rome II or Attila.
Windows Setup (Step by Step)
The build pipeline is designed for Windows with GNU Make running in Git Bash.
Important: run every make command in Git Bash.
Do not run make from CMD or PowerShell.
1) Install Git for Windows
Download and run:
After install, open Git Bash and verify:
git --version2) Install GNU Make
Download and run:
During installation, ensure make.exe is added to your PATH environment variable (or add it manually after install).
Then in Git Bash, verify:
make --version3) Confirm PowerShell is available
Some Makefile targets use PowerShell. Verify from either Git Bash or PowerShell:
powershell -Command "$PSVersionTable.PSVersion"4) Clone the repository
git clone https://github.com/bukowa/ConsulScriptum.git
cd ConsulScriptum5) Bootstrap project dependencies
Run from Git Bash:
make setupThis prepares ./.deps and initializes build directories.
What make setup installs
The setup target downloads and configures these tool dependencies into ./.deps:
rpfm_cli(pack creation and schema operations)rpfm_schemaetwng(xml2ui,ui2xml)7zipRuby+ required gems for etwngldoc(for Lua docs generation)
Core Variables
Useful variables exposed by the Makefile:
GAME:Attila(default) orRome2DEV:1enables extra dev UI target for Attila (layout.xml)SAVE: optional save name used by install/run targets
Examples:
make GAME=Attila
make GAME=Rome2 DEV=1Build Workflow
Run all commands in this section from Git Bash.
1) Build package
make GAME=Attilaor:
make GAME=Rome2This creates consulscriptum.pack from files staged in ./build.
2) Install and run
Common targets:
make GAME=Attila install-alonemake GAME=Attila install-steammake GAME=Attila run-alonemake GAME=Attila run-steammake GAME=Attila run-alone-dei
Short aliases:
make alone->run-alonemake steam->run-steam
Useful Targets
clean: removebuildartifacts and built packkill-game: force close currently running game processgenerate-docs: generate Lua API docs vialdocinsert-consul-entry: add a new Consul entry to the relevant UI XML (game-aware)
Game-Specific Build Notes
Attila
- Uses
src/ui/common ui/consul.xml - Uses
src/lua_scripts/all_scripted_attila.lua
- Uses
Rome2
- Uses
src/ui/common ui/menu_bar.xmlandsrc/ui/frontend ui/sp_frame.xml - Uses
src/lua_scripts/all_scripted_rome2.lua
- Uses
Troubleshooting
- If
makecommands fail on Windows, run from Git Bash (not plain CMD). - If setup tools are missing/corrupted, run:
make clean
make setup- If XML conversion commands fail, confirm
setup-etwngsucceeded and binaries exist under./.deps/etwng/ui/bin/.
