GNU make 4.2
I got GNU make 4.2 compiling under SAS/C.
I've done some initial testing with my usual projects and it seems to work nicely.
https://github.com/dmcoles/gnu_make_amiga/releases/tag/4.2-05032024
The latest version I've seen around before is 3.82 which is quite some years older.
Sadly they made some major restructuring in 4.3 and 4.4 which have made it
much more difficult to build those versions on SAS/C.
I haven't extensively tested it - so i'm not releasing it to the aminet yet but it seems to
work ok with my own projects. Please do feel free to feed back.
I considered rewriting EBuild with my new filter features on the framework for EEC but who would use a custom make replacement? It reeks of not-invented-here syndrome but what choices do we have? Meson requires Python 3.7, Ninja build is needed only for its intelligent thread-pools and requires a higher level construct like CMake or Build Ninja for common use, Jam is only used by Haiku and Perforce, what other build systems are there?
i've also now managed to get 4.4.1 building on SAS/C
Which you can download here:
https://github.com/dmcoles/gnu_make_amiga/releases/tag/4.41-06032024
Hi Darren,
I'm using your 4.4.1 make build for my projects but I get weird things when trying to pass variables to sub-makefiles.
* variables created in the main makefile are not passed to the sub-makefile, even when exported,
* using -E to pass a variable definition to the sub-makefile seemed to work but all of a sudden, it didn't anymore,
* environment variables created for testing are not read correctly, I mean it's listed but it has no value.
For testing I use this simple makefile instruction:
$(foreach v, $(.VARIABLES), $(info $(v) = $($(v))))
Then I set a variable in a shell, eg. setenv TST OS3
and I try to read it in make variables
make | grep TST
Can you please give it a try to see if it's reproducible ?
My System version is 3.2.3, Amiga 500 with Firebird accelerator.
TIA,
Olrick.
Hi,
I did some tests, trying UAE to get rid of hardware doubt, trying previous versions to check environment variables management and finally reverted to make 4.2.1 which seems to be OK up to this point.
can you provide detailed instructions / files to recreate this and i will take alook
Online Status
Just browsing through the git repo for gnu make and I notice that all Amiga support was removed from the code just after the 4.4.1 release about a year ago. So even if we manage to get the new build system in 4.3 working then we can at best get updates 4.3, 4.4 and 4.4.1 and then we would not be able to get any further updates without reinstating all of the removed code