Linux 我的第一個makefile(Linux指令學習筆記)


我的第一個makefile

最近學到了makefile的文件的編寫。makefile是一個能達到方便編譯鏈接生成目標程序的文件,

make確實很方便,在寫makefile的過程也能更好的理解gcc編譯器執行生成可執行文件的全過程。這里是我

的第一個makefile的編寫。

makefile根據依賴,逐步解析生成目標文件。

首先指定all:ef  生成最終目標文件ef

生成ef的前提是依賴ef:total.o sum.o mul.o 三個目標文件。

並且我們要指定gcc的執行 gcc -o ef total.o sum.o mul.o

由於生成ef需要三個*.o文件,所以我們要生成三個*.o文件。

生成total.o 需要文件total.c

生成sum.o 需要文件sum.c

生成mul.o  需要文件mul.c

所以我們指定生成依賴關系,然后指定gcc執行過程。

當執行make時,make會根據他們之間的依賴關系生成目標文件。

在第一編寫makefile的過程中我遇到下面的兩個問題,其實這也是新手常范的錯誤

1:在“:”后面不能用空格。

2:gcc 前面用空格代替了Tab,導致makefile執行失敗。

 

下面是sum.c   mul.c   total.c 的代碼內容

//sum.c
int
sum_one(void) { int sum = 0,i = 1; while(i<=10) { sum += i; ++i; } return sum; }
//mul.c
int mul_two(void)
{
   return (2*5*8*10*14);
}
//total.c
#include"stdio.h"

int main(void)
{
  char ch ;
  scanf("%c",&ch);
  while(ch!='1'&&ch!='2'&&ch!='q'&&ch!='Q')
  {
     printf("input error,please enter again!");
     scanf("%c",&ch);
  }
  switch(ch)
  {
     case '1':
          printf("The sum of from 1 to 10 is %d \n",sum_one());
          break;
     case '2':
          printf("The mul of 2 , 5, 8 ,10 ,14 is  %d \n",mul_two());
          break;
     default:
           
        return 0;
  }
  return 0;
}

make執行過程

哈哈,第一個makefile


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM