title: How to write a Makefile to compile a simple C program
body: <p>Compile the following program </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  int main(void)
  {
     printf ("Hello from your first program!\n");
     return 0;
  }
  </code></pre>
  
  <p>a)-by using file of type Makefile</p>
  
  <p>b)-the executable will be named Hello</p>
  
  <p>"Please help to do an exercise. I know how to do it in CodeBlocks, but I don't know what Makefile is and how to write it in Linux. I compiled it using command "gcc filename.c" and subsequently "./a.out"  but I still don't understand what the Makefile is. Is it a sort of shell script, an instruction? How would a Makefile for this task exactly look? Thanks in advance :) "</p>