天天看點

linux helloworld 通過makefile檔案 編譯菜鳥學習記錄

聲明:本人linux菜鳥一個,之是以學習linux 的makefile 是自己在android NDK的時候經常遇到很多看不懂的android.mk檔案,就想從linux開始着手,不喜勿噴...

1.将多個檔案通過makefile 編譯成一個執行檔案,代碼來源linux程式設計第三版

charter01中的lib.h bill.c  fred.c program.c

#lib.h 聲明兩個函數

void bill(char *);

void fred(int);

#bill.c 實作lib.h中的bill函數

#include <stdio.h>

void bill(char *arg)

{

    printf("bill: you passed %s\n", arg);

}

#fred.c 實作lib.h中的方法

#include <stdio.h>

void fred(int arg)

{

    printf("fred: you passed %d\n", arg);

}

#program.c 主函數調用bill.c中實作了libh的函數

#include "lib.h"

int main()

{

    bill("Hello World");

}

基本代碼結束

在目前項目檔案夾下建立#include "lib.h"

int main()

{

    bill("Hello World");

}

基本代碼結束

在目前檔案夾下建立Makefile檔案

#Makefile

obj=lib.h bill.c fred.c program.c

test: $(obj)

    @gcc $(obj) -o test

裡面具體的makefile指令參數解析請看http://v.youku.com/v_show/id_XNjU1Mzk1MDk2.html 這裡的教程,簡單講就是

目标:依賴

          gcc 指令

我自己隻是為了身為菜鳥的我能簡單的使用make 指令就能看到生成可執行檔案就很滿足了.

makefile檔案寫完後ctrl+alt+T 快捷鍵打開指令終端 cd 一直進入到項目檔案目錄 之後 make  回車看到生成了個test可執行檔案

使用gdb test 進入gdb調試

輸入run 就會看到輸出結果了

再輸入quit 就可以退出gdb 回到指令終端

簡單的第一個makefile檔案結束了