How to write makefile in linux for c



Share



Learn how to create a makefile for a software project, build the project and create executables for the project using makefile. Subscribe to enable complete access to all , and .

This article will help you to gain required knowledge to successfully complete , which are required to complete and earn course completion certificates for software jobs.

Creating Linux makefile, build project images

Frequently asked topics, concepts.
  • What is a makefile?
  •     Make is Unix utility that is designed to start execution of a makefile. A makefile is a special file, containing shell commands, that you create and name makefile. While in the directory containing this makefile, you will type make and the commands in the makefile will be executed. If you create more than one makefile, be certain you are in the correct directory before typing make.
        Make keeps track of the last time files (normally object files) were updated and only updates those files which are required (ones containing changes) to keep the sourcefile up-to-date. If you have a large program with many source and/or header files, when you change a file on which others depend, you must recompile all the dependent files. Without a makefile, this is an extremely time-consuming task.
        As a makefile is a list of shell commands, it must be written for the shell which will process the makefile. A makefile that works well in one shell may not execute properly in another shell.
        The makefile contains a list of rules. These rules tell the system what commands you want to be executed. Most times, these rules are commands to compile(or recompile) a series of files. The rules, which must begin in column 1, are in two parts. The first line is called a dependency line and the subsequent line(s) are called actions or commands. The action line(s) must be indented with a tab.
    basic.c program illustrating makefile and applications.
    
    #include <stdio.h>
    #include "basic.h" 
    int total,tot = 0;
     int main ()
     {
         printf("This is a simple C Program\n");
         total = sum(1,2);
         printf("Sum of two numbers is %d\n", total );
       return 0; 
     }
    
    basic.h program to be used in makefile.
    
    int sum (int, int);
    
    basic1.c program to be used in makefile.
    
    #include "basic.h" 
    int sum (int a, int b)
    {
      return a + b;
    }
    

    To Read Full Article

    You need to subscribe & logged in

    Subscribe

    Exercises, Solutions

    Low
    Low
    Low
    Medium
    Low
    Medium
    Medium
    High
    Medium

    Want to contribute a new article? Write and upload your article information .
    Share

     Articles

     C Programming

     Linux Software

     Embedded Systems

     Python Programming

     Search Code Snippets

     Popular C search examples

     Popular C search MCQs

     Online certificate courses

     Test your skills:online tests

     C Programming

     Python Programming

     Linux Software

     Quantitative Aptitude

     Embedded System Software