mirapack is an unofficial package manager and compiler for Miranda-based projects that fixes some minor niggles in the Miranda development experience.
It is intended to be a first pass, and has no lofty ambitions to be the de facto solution to any of the problems it solves.
mirapack's solution to the second is to have (copies of) both the standard library and project files in the same directory and use that directory as the single library directory when building the project.
mirapack's solution to the second is to pack everything needed to run the code (including
mira itself) into an archive, append that archive to a shell script which, when run, extracts it to a temporary directory, runs the code with the library directory set to the temporary directory, and removes the temporary directory to clean up.
At this point, we're treating the standard library as a dependency and chucking it into the same directory as the project files to build the project. It's a small step to go from there to allowing arbitrary Miranda dependencies to be specified in a manifest file, and extract the specified Miranda dependencies into the same directory the standard library and project files are chucked into before building.
main.m will be compiled into
.mirapack/build/$PWD by default, and into
.mirapack/build/$name if a name is given.