make – GNU make utility to maintain groups of programs

A UNIX Command
$make
gcc -g -O2 -lcairo -I/usr/include/cairo/ -L/usr/lib/ `pkg 
-config --cflags --libs gtk+-2.0 gthread-2.0` - 
DVERSION="0.0.1" language.c -o language
$
$ls
autom4te.cache  config.status  configure.in  CVS            language    Makefile     TODO
config.log      configure      COPYING       Documentation  language.c  Makefile.in
$

Sample Makefile Contents
CC = gcc
VERSION = 0.0.1
CFLAGS = -g -O2 -lcairo -I/usr/include/cairo/ -L/usr/lib/ 
pkg-config --cflags --libs gtk+-2.0 gthread-2.0`

all: language-bin

language-bin: language.c
        $(CC) $(CFLAGS) -DVERSION="$(VERSION)" language.c -o language

clean:
        rm -f language

distclean:
        rm -f language config.* Makefile

UNIX Explanation
The make utility automatically determines which pieces of
a  large  program  need  to  be  recompiled,  and  issues
commands  to recompile  them. This  manual  describes GNU
make,  which  was  implemented  by Richard  Stallman  and
Roland McGrath.  Development since Version  3.76 has been
handled by Paul D. Smith.GNU make conforms to section 6.2
of IEEE Standard 1003.2-1992 (POSIX.2). Our examples show
C programs, since  they are most common, but  you can use
make with any programming  language whose compiler can be
run with a shell command.  Indeed, make is not limited to
programs. You can use it  to describe any task where some
files must be  updated automatically from others whenever
the others change.

source: http://www.gnu.org/software/make/manual/
 

Leave a Reply

Your email address will not be published. Required fields are marked *