5 ms·
> 2. Make is _really_ hard to use to try to compose a large build system Are Android and LEDE/OpenWrt big enough? > 3. Let's be honest, nobody really wants to
by ynezz 9y ago
> 2. Make is _really_ hard to use to try to compose a large build system
Are Android and LEDE/OpenWrt big enough?
> 3. Let's be honest, nobody really wants to learn Makefile syntax.
That's probably very subjective, I find JavaScript, C++, PHP or Perl much worse :-)
Anyway, for the past years I'm cheating a lot and using CMake to get complex Makefiles almost for free.
- ejholmes 9y ago> That's probably very subjective, I find JavaScript, C++, PHP or Perl much worse :-) Oh definitely. I actually like Makefile's, but in my experience, more teams have a deep familiarity with some programming language, than with Makefile syntax. I haven't met very many people who have read the GNU make manual, and know all the idiosyncracies around Makefile syntax.
- 0xdeadbeefbabe 9y agoThis lovely cough line brought to you by a lede/openwrt Makefile: target/linux/ar71xx/image/Makefile: CMDLINE = $$(if $$(BOARDNAME),board=$$(BOARDNAME)) $$(if $$(MTDPARTS),mtdparts=$$(MTDPARTS)) $$(if $$(CONSOLE),console=$$(CONSOLE))
- Nursie 9y agoThat's just a bit of cmd line building. Three clauses to build a string - If BOARDNAME is defined, add board=$(BOARDNAME) to the string If MTDPARTS is defined, add mtdparts=$(MTDPARTS) to the string If CONSOLE is defined, add console=$(CONSOLE) to the string Pretty simple, if a little like the ternary operator in C. You must have seen more complex clauses than that in shell scripts and all sorts of places.
- mto 9y ago+1 for cmake. It works so well, in my latest C++ project the cmake file is more or less just a listing of source files and it does it job on windows, Mac and a few different Linux distros without any platform specific stuff. So well that I replaced the huge makefiles of the libraries I use with really small cmake files that just work and don't require modifications every 3 months because this specific distro causes problems or whatever. It feels much more like in those IDEs where you just drag all the source files in and you're done. I even prefer editing visual Studio project files by hand to many makefiles out there..
- Too 9y ago> Are Android and LEDE/OpenWrt big enough? Doesn't mean that it's not hard. :) And if IIRC google are trying to move android build to blueprint because make is too complicated.