George Sokianos 15b5656b7a | ||
---|---|---|
files | ||
.dockerignore | ||
.env6 | ||
.env8 | ||
.env9 | ||
.env10 | ||
.env11 | ||
.gitignore | ||
Dockerfile | ||
Makefile | ||
README.md | ||
build-gcc.sh |
README.md
adtoolsBuilder
This is a docker image that can be used to build native adtools for AmigaOS 4 on any operating system that supports Docker.
Setup
To prepare the development environment you need to do the following:
-
Clone the necessary repos under the
repos
foldermake clonerepos
-
Copy the latest ExecSG private SDK under
repos
folder. So the path should berepos/execsg_private_sdk/SDK/...
If this folder does not exist the following step will fail with an error like below.
Step 15/17 : ADD ${REPOS_PATH}/execsg_private_sdk /tmp/execsg_private_sdk ADD failed: file not found in build context or excluded by .dockerignore: stat repos/execsg_private_sdk: file does not exist make: *** [Makefile:41: build] Error 1
-
Build the docker image
make build
This will create the walkero/adtoolsbuilder:adtools-build Docker image, with the size of around 1.88GB. So make sure you have this available space on your hard disk.
After these steps, you are ready to compile the adtools on your machine.
Compile adtools
To compile adtools you first need to create a Docker container based on which GCC version you want to build. Available versions are 6, 8, 9, 10, 11. To do that you just need to run the following:
make compile GCC=8
Change the number based on which version you would like to compile. By default, if GCC argument is missing, is set to compile GCC 8.
Then you can execute the build-gcc.sh
script to run all the steps, or do them by hand.
CAUTION: Because of a bug, the make native-install
command might fail the first time you run it, but it will succeed if you run it a second time. That's why it is recommended to execute the commands by hand until this bug is fixed.
Useful information
- When you start a container to compile adtools in there, a new folder will be created named
native-gcc
. In there new folders will be created with the gcc files and the distribution lha packages for adtools and clib. This way you can get those files from the host machine. - By default, the adtools is compiled using the latest AmigaOS 4 SDK v53.34. If you would like to compile them using the previous v53.30, then open the
Makefile
and change themakefile-SDK53.34
tomakefile-SDK53.30
. By doing that the latest ExecSG private SDK is not used, and you can have an empty folder underrepos
directory. - If you don't have the latest ExecSG private SDK, then check the above line on what to do.
- If you want to update the cloned repos and rebuild the Docker image, just run
make buildnc
. This will pull the latest code for the necessary repos and will re-create the Docker image. The filesnative-build/Makefile
,gcc-build/features.mk
andgcc-build/Makefile
are not updated though, because custom ones are used. If there are updates at the adtools repo, these need to be applied manually, with caution. The custom files can be found underfiles/
folder. - To get a list of the available parameters of make script, you can run
make help
or justmake
.