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/