天天看点

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文件结束了