Looks too complicated to be a useful starting point for anyone not comfortable writing their own Makefile. I think make(1) should be studied in the same way one studies sh(1), yacc(1) etc. Once the main points are understood it is fairly trivial to write a minimal Makefile that gets the job done.
Yep. The whole mess was started at the time I was not quite enjoying makefile. easymake has gave me some sweet time. It’s not quit generic or extensible, though.
Sorry to nitpick, but that’s pretty complicated for what it’s trying to do, and I’m not sure there’s a need for it.
For really simple things, like one off test programs, I have a ~10 line Makefile I copy and modify. It’s nothing fancy, but it points to some libraries I’ve installed by hand outside the system include/library locations, and has compiler flags I use often, etc. Basic Makefile syntax for simple apps is straightforward enough that it doesn’t really need anything complicated, I only use the copy/modify approach to save 5 minutes typing it up and double checking paths.
For anything more complicated, like bigger projects with lots of dependencies, I prefer CMake. It would be more work for me to use this easymake than it would be to just use CMake.
Yes, it’s rather complicated. I tried simplifying the code for a while, but it’s still complicated with 200+ lines. That’s why I'v added a NOTICE int the README.md before.
I don’t know much about cmake. However, easymake has helped me build some applications in the last company I served, Because unfortunately the team only use make instead of cmake in the ci system.
Looks too complicated to be a useful starting point for anyone not comfortable writing their own Makefile. I think make(1) should be studied in the same way one studies sh(1), yacc(1) etc. Once the main points are understood it is fairly trivial to write a minimal Makefile that gets the job done.
Yep. The whole mess was started at the time I was not quite enjoying makefile. easymake has gave me some sweet time. It’s not quit generic or extensible, though.
https://github.com/roxma/easymake/blob/master/easymake.mk#L24
These should be cc and c++ not gcc and g++.
Good to know! Wierd,
CXXisg++by default, from the gnu make manualYep, just noting cc/c++ are a better option so that people don’t need to expect gcc.
Unless of course you’re trying to require gcc or say clang, but I’d leave that up to the users.
Sorry to nitpick, but that’s pretty complicated for what it’s trying to do, and I’m not sure there’s a need for it.
For really simple things, like one off test programs, I have a ~10 line Makefile I copy and modify. It’s nothing fancy, but it points to some libraries I’ve installed by hand outside the system include/library locations, and has compiler flags I use often, etc. Basic Makefile syntax for simple apps is straightforward enough that it doesn’t really need anything complicated, I only use the copy/modify approach to save 5 minutes typing it up and double checking paths.
For anything more complicated, like bigger projects with lots of dependencies, I prefer CMake. It would be more work for me to use this easymake than it would be to just use CMake.
Yes, it’s rather complicated. I tried simplifying the code for a while, but it’s still complicated with 200+ lines. That’s why I'v added a NOTICE int the README.md before.
I don’t know much about cmake. However, easymake has helped me build some applications in the last company I served, Because unfortunately the team only use make instead of cmake in the ci system.