From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: How to best organize and build large projects? Date: Mon, 21 Sep 2015 12:31:48 +0200 Organization: A noiseless patient Spider Message-ID: References: <428ab038-94ac-4549-ae3b-0b06f4fb80a8@googlegroups.com> Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 21 Sep 2015 10:29:52 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="b96887e80893c84a90c3007226ca0d1c"; logging-data="14037"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/vK7WWefN6ERrk8Z1PsW3l8fHJ3vHT3XM=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 In-Reply-To: <428ab038-94ac-4549-ae3b-0b06f4fb80a8@googlegroups.com> Cancel-Lock: sha1:0ZLv2/ybIWfJPVc5X/1DdCZoeeo= Xref: news.eternal-september.org comp.lang.ada:27795 Date: 2015-09-21T12:31:48+02:00 List-Id: On 20.09.15 18:42, John Smith wrote: > Hi all, > > In your experience, what are some good approaches in case I want to organize and then build an application with many files and resources. Would you split the project up into source, resources, build_scripts, etc? Would you use makefiles to build the whole thing or some other tool? > If "to organize" also means things like "generating sources", adapting resources, and the like, then a ubiquitous scripting language can be easier than just Ada or just (GNU) make, if the former has actually been made for such tasks. If resources are (de facto) proprietary, I guess the proprietor's tools will be a good choice. Preferably a scripting language that is either typically installed, or else easy to get, and portable, such as Perl, or Ruby. (Minimizing dependencies has always been good ROI unless the plan was (it wasn't) to generate administrative extra work.) For Ada sources, I'd expect makefiles to just drive the Ada compiler's own make programs: Since Ada has its concept of "library" (and configuration pragmas), one would be right when expecting library aware build tools. (GNAT has them, the compilers using the AdaMagic front end have them, the former Rational tools may even have emphasized them (hearsay), ...) OTOH, when generating documentation, chances are that a simple makefile can drive typical processes, such as transformations from DITA->HTML, DocBook->Something, nroff->man etc. Trying BSD Make vs Microsoft Nmake vs GNU make has, on occasion, contributed to robustness.