- Compiling the code to Assemble code
- Assembling the Assembly code to object code
- linking the object code together into an executable
pc1.c
#include
int main()
{
printf("program 1\n");
return 0;
pc2.c
#include
#include"test.h"
void pc2_test()
{
int i=max;// max is defined in test.h
printf("%d: value copied from header file\n",i);
printf("program 2\n");
}
pc3.c
#include
void pc3_test()
{
printf("program 3\n");
}
test.h
#define max 3
make utility:
make is a system designed to create programs from large source code trees and to maximize the efficiency of doing so. To that effect, make uses a file in each directory called Makefile . This file contains instructions for make on how to build your program and when.
There are three important parts to a Makefile: the dependency line and the command line and macro line
Procedure:
Step1: Open a file named makefile
>vim makefile
Step1: Defining the dependency line
fun: pc1.o pc2.o pc3.o
Here pc1.o pc2.o pc3.o are the object file for the respective *.c files which defines the project
and fun is the project name
defining the dependencies of pc1.o
pc1.o: pc1.c
which means main.o is dependent on main.c
if the program is dependent on a external header file
i.e. for the case of pc2.c
pc2.o: pc2.c test.h
Step2: defining the command lines
for the object file to be created the *.c file has to be compiled
for the project defnition line
gcc -c fun main pc1.o pc2.o pc3.o
compilation line for creating pc1.o etc
gcc -c pc1.o
The complete program can be sumarized as
makefile
fun: pc1.o pc2.o pc3.o
gcc -c fun main pc1.o pc2.o pc3.o
pc1.o: pc1.c
gcc -c pc1.c
pc2.o: pc2.c test.h
gcc -c pc2.c
pc3.o: pc3.c
gcc -c pc3.c
Step4: To run the makefile
go to the terminal
type make
and to complile the programs
run ./fun here fun is the project name specified
Its very informatieve. Keep going..,
ReplyDelete