设为首页 加入收藏

TOP

Linux的Makefile简单实例教程
2014-11-24 03:29:34 来源: 作者: 【 】 浏览:0
Tags:Linux Makefile 简单 实例 教程

先建立以下实例程序文本:


/**************************filename:main.c**************************/


#include


#include



#include "hello.h"


#include "init.h"



void aftermain(void)


{


printf("\n");


printf("<<<<<<>>>>>>>>\n");


printf("..............\n");


return 0;


}



int main(int argc,char *argv[])


{


printf("========main=======\n");


init(1234);


hello(argc,argv);


atexit(aftermain);


printf(".....exit main......\n");



return 0;


}


/**********************filename:init.c***************************/


#include


#include "init.h"



const char ro_data[1024]={"This is readonly data"};


static char rw_data[1024]={"This is readwrite data"};


static char bss_data[1024];



int init(int number)


{


printf("input number:%d\n",number);


printf("ro_data:%x,%s\n",(unsigned int)ro_data,ro_data);


printf("rw_data:%x,%s\n",(unsigned int)rw_data,rw_data);


printf("bss_data:%x,%s\n",(unsigned int)bss_data,bss_data);


return number;



}


/*******************filename:hello.c********************/


#include


#include "hello.h"



int hello(int argc,char *argv[])


{


int i;


printf("Hello world!\n");


for(i=0;i

{


printf("argv[%d]=%s\n",i,argv[i]);


}


return 0;


}


/****************filename:init.h*************************/


#ifndef _INIT_H_


#define _INIT_H_



int init(int number);



#endif


/*********************filename:hello.c*********************/


#ifndef _HELLO_H_


#define _HELLO_H_



int hello(int argv,char *argc[]);



#endif


由依赖关系可以知道:


All: main.o hello.o init.o


Main.o: main.c hello.h init.h


Hello.o:hello.c hello.h


Init.o init.h init.c



建立终端,在终端输入


Vi makefile1


即建立makefile1的文本文件


all: main.o hello.o init.o


gcc -o myapp main.o hello.o init.o



main.o: main.c hello.h init.h


gcc -c main.c


hello.o: hello.c hello.h


gcc -c hello.c


init.o: init.c init.h


gcc -c init.c


注意: 以“:”结尾的后面跟的是tab制表符,而不是空格


在终端输入 make –f makefile 即编译成功


Make文件中的注释以#开头


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JNI技术与Android应用 下一篇Linux内核的Makefile和kconfig解读

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)
·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)