Exercises, examples and other material relating to training module A168. This topic is presented on public courses Deploying LAMP - Linux, Apache, MySQL, Perl/PHP
, Linux Basics
, Deploying Java Applications on Linux / Unix
|Articles and tips on this subject||updated|
|4585||What is make? What is gcc?|
Make is a tool which lets you define a whole series of commands you need to run to get from the basic data and program source files that you work on during development, or distribute to your technical customers into the final product / products that you need.
Typically and traditionally, make reads ...
|4013||Web Frameworks - nested templates|
There are times when an inversion of long-accepted logic makes sense. I've been working in a many-floored office block in Salford this week, with a bank of lifts to travel between floors. Rather than press a button for your floor once you're in the lift, you press a button in the lift lobby when you ...
|3666||Makefile variables - defined internally, from the command line and from the environment|
How do you control makefiles from the environment in which they are run? You can do so with make variables, which can be set externally from your calling shell / program, or from the make command line.
If I set a shell variable and export it, it will be available in my Makefile.
If I specify a variable ...
|3658||Using Make for a distribution|
Although Make has traditionally been used to build C and C++ programs, its uses are far wider - here's a new example in which I've used it to test a whole series of Python programs, and if they all test correctly to build a distribution (tar) file.
Scenario - three Python programs / classes for distribution. ...
|3652||A Complete makefile example|
Part of a series, written to brush up some make notes I'm using for some make training next week
Let's write a complete makefile - from first principles:
# This is our first makefile
# Target "always" never exists, so rules will always run
|3651||Makefile - some basics, and a demonstration|
Here is a basic rule from a makefile:
uptime > mytarget
cat -n mysource >> mytarget
mytarget depends on mysource. In other words, ...
|3632||What is Make?|
Make is a build tool. Let me give you some examples of where it might be used:
• If you're making an executable program, there is often a quite complex series of instructions to follow to convert your source files into the final executable file (your ultimate target).
• Similarly, if you're ...
|3053||Make - automating the commands for building and installing|
Coding projects (and their open source distributions) require build scripts - files of commands that convert the source code into executable programs, that install the various resultant files into place, and that can clean up the build area for a fresh build or for redistribution. The make system - ...
|2674||Make and makefiles - a commented example to help you learn|
If you're making an executable C++ file you build it from a whole lot of .o files, each of which you have compiled from a .cpp file. And you also build in library files. If you change a .cpp file, then you have to recompile it into a .o ... but don't forget that you also have to recompile the .cpp ...
|1671||Compiling C programs with gcc - an overview|
Gcc - the "Gnu Compiler Collection" - is used to compile AND to link C language programs in an open source environment. A single command - gcc runs a series of phases that take you from source code through to an executable program file, with the actual steps taken works out based on:
• the extensions ...
|694||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 ...
Examples from our training material
|Make_1|| Straightforward, commented Makefile|
|Make_2|| Makefile - with standard rules and Make variables|
|Make_3|| Variable and their types, conditionals and make functions|
|demo.c|| Hello World in C for compiler tool demo|
|makefile|| Simple makefile example |
|makefile_hello|| Compiler tools - simple Make file|
|more.c|| Second source file for makefile / compiler demo|
|mytcl.c|| C program for gcc practise|
Some modules are available for download
as a sample of our material or under an Open Training Notes License
for free download from [here]
Topics covered in this module
Compiling and development tools for Linux.
The gcc Gnu Compiler Collection.
CVS - the Concurrent Version system.
If you are looking for a complete course and not just a information on a single subject, visit our Listing and schedule
Well House Consultants specialise in training courses in
Linux and LAMP
. We run
throughout the UK (and beyond for longer courses), and
at our training centre in Melksham, Wiltshire, England.
It's surprisingly cost effective to come on our public courses -
even if you live in a different
country or continent to us
We have a technical library of over 700 books on the subjects on which we teach.
These books are available for reference at our training centre.