MakeFile in C++ and its applications
Given a C++ program and the task is to break the entire program in the form of Makefile. It is basically used to create .cpp file and .h file for each class/functions and its functionalities and later link them all through a Makefile command available in C++. Advantages:
- It makes codes more concise and clear to read and debug.
- No need to compile entire program every time whenever you make a change to a functionality or a class. Makefile will automatically compile only those files where change has occurred.
- Generally, in long codes or projects, Makefile is widely used in order to present project in more systematic and efficient way.
Example: Create a program to find the factorial and multiplication of numbers and print it. Traditional Way
CPP
#include<bits/stdc++.h>
using namespace std;
int factorial( int n)
{
if (n == 1)
return 1;
return n * factorial(n - 1);
}
int multiply( int a, int b)
{
return a * b;
}
void print()
{
cout << "makefile" << endl;
}
int main()
{
int a = 1;
int b = 2;
cout << multiply(a, b) << endl;
int fact = 5;
cout << factorial(5) << endl;
print();
return 0;
}
|
Output:
2
120
makefile
Use Makefile to run the above program:
CPP
#include <bits/stdc++.h>
#include "function.h"
using namespace std;
int main()
{
int num1 = 1;
int num2 = 2;
cout << multiply(num1, num2) << endl;
int num3 = 5;
cout << factorial(num3) << endl;
print();
}
|
CPP
#include <bits/stdc++.h>
#include "function.h"
using namespace std;
void print()
{
cout < "makefile" << endl;
}
|
CPP
#include <bits/stdc++.h>
#include "function.h"
using namespace std;
int factorial( int n)
{
if (n == 1)
return 1;
return n * factorial(n - 1);
}
|
CPP
#include <bits/stdc++.h>
#include "function.h"
using namespace std;
int multiply( int a, int b)
{
return a * b;
}
|
CPP
#ifndef FUNCTION_H
#define FUNCTION_H
void print();
int factorial( int );
int multiply( int , int );
#endif
|
Commands to Compile and Run above program:
Open Terminal and type commands:
g++ -c main.cpp
g++ -c print.cpp
g++ -c factorial.cpp
g++ -c multiply.cpp
g++ -o main.o print.o factorial.o multiply.o
./main
Note: g++ -c filename.cpp is used to create object file.
Last Updated :
12 Mar, 2024
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...