This is a simple project template for assembly programming projects for cross-developing for Commodore Amiga computers. You'll need CMake, make, vasm, and vlink installed for it to work.
The example code in this repository is taken from Tuomas Järvensivu's repository, which in turn is part of his excellent introduction to programming the Amiga.
There is one key difference though: I prefer to assemble files into object files first and link them into an executable in a separate step. So if you prefer to translate your assembly "directly" into executables, you'll have to modify this template. Please see the blog post I linked above to see which commands you have to use.
Use git to clone this repository, then configure and build with CMake:
git clone https://github.com/georgjz/amiga-project-template
cd amiga-project-template
cmake -S . -Bbuild
cmake --build build
I added vasm as a "custom language" to CMake, see cmake/
directory for details. It's not the most elegant solution, but it works. The linker/vlink is hard-coded into the build process, which I plan to change once I understand CMake better (there are very useful entries in the offical docs).
You can add files in an arbitrary directory structure, as deeply nested as you like. Just make sure each directory contains a copy of src/CMakeLists.txt
so the file(s) get built.
All code in this repository is under the MIT license. Except for the two files src/source.s
and src/masters3.raw
which are taken from this repository.