Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: Rui Maciel Newsgroups: comp.lang.java.programmer Subject: Re: How to develop without an IDE? Date: Mon, 23 Apr 2012 23:15:29 +0100 Organization: Aioe.org NNTP Server Lines: 56 Message-ID: References: <4f94338d$0$295$14726298@news.sunsite.dk> <4f94765c$0$284$14726298@news.sunsite.dk> <4f949830$0$295$14726298@news.sunsite.dk> <9vlns0Fv8cU1@mid.individual.net> Reply-To: rui.maciel@gmail.com NNTP-Posting-Host: AqItoBXOUTdaiWbH4r55cA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.7.3 X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.java.programmer:13824 Robert Klemme wrote: > On 23.04.2012 06:57, Nasser M. Abbasi wrote: >> I found that using one good tool for everything is better than >> mixing things. > > Which, if followed religiously, will lead you into a situation where it > can get really awkward to do things with tool A which would be extremely > easy with tool B. This isn't necessarily a problem, particularly if a person is already familiar with tool A while being completely unaware that tool B even existed. Then there is a significant issue with being forced to learn an entirely new tool just because there might be a single thing that it might be able to handle in a simpler way, and then being forced to deal with a significant list of things where the new tool fails to perform. Unfortunately, this appears to be an undistinguishing feature of every automated build system that has been released. >> Also, gnumake can do so many more things than just build source >> code. I use it to update my html files and pdf files from >> Latex sources, and other such things. > > No wonder because make doesn't do *any* of these things. Make evaluates > timestamps along dependencies (mostly between files) and invokes other > programs that do all the work. GNU make additionally has an extremely > large database of predefined rules, has functions and other capabilities. There is nothing wrong with this. In fact, I see it as an extremelly valuable feature. It's a pain in the neck to shoe-horn custom build rules to an automated build system which was developed with them as an afterthought. >> As long as the idea that drives the tool is: Perform this action >> to update these prerequisites that this target depends on, then better >> to use one tool that does this better and for many other things, not >> just .java files. > > Interestingly GNU make's large built in rule database does not contain > anything related to compiling Java. How do you create your Makefiles in > a way as to invoke javac only for those files which have changed - > especially in light of the fact that one Java source file might create > multiple .class files? Maybe build-in rules aren't needed, considering Make's static pattern rules. http://www.gnu.org/software/make/manual/make.html#Static-Pattern Rui Maciel