Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Ant and Make

In order to produce a file of answers in many applications, you need to take several files of inputs and run a program to generate the results. The inputs themselves may be answers produced by running further programs on further inputs, and so on until you have a whole huge tree of inputs that are used to produce a single (or relatively few) file of answers.

What do you do if an input is changed? Well - you have to run all the programs again and produce fresh intermediate answers, from which you can go on and produce new final results. If it's something you do frequently, you can automate the whole business through a shell script or batch file.

But in a big system, you'll be repeating a lot of needless work in your shell script on many occasions. If only one input has been altered, it's unlikely that all the branches of your tree will need to be rebuilt - you'll really only need to rebuild the sections of the tree below where the inputs have changed and to do the whole thing could be a huge waste of resources.

Both Ant and Make are tools that help you do only the work that you need. In both cases, you specify the structure of the build tree though:
• "target"s - the answer files - at all levels - that you'll be writing
• a number of "sources" for each target - input files which, if changed mean the target must be remade
• actions (commands) that need to be run to produce the target from the sources

Then, when you run your ant or make, it compares the timestamps on the source files with those on the current target if it exists, and runs the actions if necessary. Missing targets will always cause an action to be run, and targets that become new sources for further actions will trigger off that further action as well.

If you've defined your tree well in a file called build.xml (ant) or makefile, all you need do to modify your answer file is to make any appropriate changes to the input files and type ant or make. Might take a while to set up in the first place, but once you've got a system running, the efficiency is unbelievable!

Ant is a Java tool and is used extensively in creating Java applications for the web - files such as .jar .war and .ear resources - for deployment through Tomcat, JBoss and other tools. Make is primarily a Unix / Linux tool that's traditionally used for building programs from sources, and installing those programs
(written 2006-04-22, updated 2006-06-05)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
J910 - Java - Introduction to Ant
A509 - Web Application Deployment - Java - Ant build tool
  [3155] Rake - a build system using code written in Ruby - (2011-02-03)
  [4708] Scons - a build system in Python - building hello world - (2016-10-29)

A168 - Web Application Deployment - Compiler and development tools
  [1671] Compiling C programs with gcc - an overview - (2008-06-10)
  [2674] Make and makefiles - a commented example to help you learn - (2010-03-12)
  [3053] Make - automating the commands for building and installing - (2010-11-16)
  [3632] What is Make? - (2012-03-02)
  [3651] Makefile - some basics, and a demonstration - (2012-03-13)
  [3652] A Complete makefile example - (2012-03-14)
  [3658] Using Make for a distribution - (2012-03-17)
  [3666] Makefile variables - defined internally, from the command line and from the environment - (2012-03-22)
  [4013] Web Frameworks - nested templates - (2013-02-22)
  [4585] What is make? What is gcc? - (2015-11-28)

Back to
The on line booking experience
Previous and next
Horse's mouth home
Forward to
In the hospitality business
Some other Articles
Catch up weekend
For any North and West Wilts and Swindon Readers
Is than an uphill or downhill task?
In the hospitality business
Ant and Make
The on line booking experience
Healthier eating
Testing you Perl / PHP / MySQL / Tcl knowledge
Adding Virtual Hosts
The call of nature
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2023: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/694_Ant-and-Make.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb