Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Stefan Reuther Newsgroups: comp.arch.embedded Subject: Re: Makefile or IDE? Date: Thu, 2 Dec 2021 17:34:55 +0100 Lines: 32 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: individual.net 9xuWOmwloprBRDvLyAuQRg9QR1v41BO86qcZmD8akBXkxY7Jtm Cancel-Lock: sha1:xxnXMc+xHRRZtCoIzOTC6FBTJZs= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 Hamster/2.1.0.1538 In-Reply-To: Xref: csiph.com comp.arch.embedded:30927 Am 02.12.2021 um 12:46 schrieb pozz: > Moreover, the build process of a project maintained under an IDE is > manual (click on a button). Most of the time there isn't the possibility > to build by a command line and when it is possible, it isn't the > "normal" way. So far, all the IDEs I have encountered this century use some variation of make under the hood, and have a somewhat standard compiler (i.e. responds to `whatevercc -c file.c -o file.o`). > Many times in the past I tried to write a Makefile for my projects, but > sincerely for me make tool is very criptic (tabs instead of spaces?). > Dependencies are a mess. > > Do you use IDE or Makefile? Is there a recent and much better > alternative to make (such as cmake or SCons)? Think of make (or ninja) as some sort of (macro-) assembler language of build systems, and add a high-level language on top. CMake seems to be a popular (the most popular?) choice for that language on top, although reasons why it sucks are abundant; the most prominent for me being that the Makefiles it generates violate pretty much every best practice and therefore are slow. Other than that, it can build embedded software of course. You'll eventually need another meta-build system on top to build the projects that form your system image (busybox? openssl? dropbear? linux?), you'll not port their build systems into yours. Stefan