Linux下的makefile相关内容

来源:互联网 发布:数据集成技术 编辑:程序博客网 时间:2024/04/29 19:59

基本格式:

target(目标生成文件):prerequisites(依赖文件)

(tab) 命令语句

clean:

例题:需求描述
编写程序实现两个整数相加、相减操作
要求
1、文件分布(xiangjian.c xiangjian.h xiangjia.c xiangjia.h main.c)
2、编写makefile进行编译
步骤:

1.在虚拟机上建立一个文件夹xiangjiajian

2.在xiangjiajian中分别建立xiangjia和xiangjian文件夹

3.在xiangjia中建立xiangjia.c和xiangjia.h和xiangjia.mk,xiangjian文件夹之中相同

4.在xiangjiajian中建立一个main.c(主函数)再建立一个makefile。

5.调用。

xiangjia.c:

#include<stdio.h>
int xiangjia(int a,int b)
{
        return a+b;
}

xiangjia.h

#include<stdio.h>
int xiangjia(int a,int b);
xiangjia.mk

xiangjia.o:xiangjia/xiangjia.c xiangjia/xiangjia.h
        gcc -c xiangjia/xiangjia.c -o xiangjia.o
xiangjian.c

#include<stdio.h>
int xiangjian(int c,int d)
{
        return c-d;
}
xiangjian.h

#include<stdio.h>
int xiangjian(int c,int d);

xiangjian.mk

xiangjian.o:xiangjian/xiangjian.c xiangjian/xiangjian.h
        gcc -c xiangjian/xiangjian.c -o xiangjian.o

main.c

#include<stdio.h>
#include"xiangjia/xiangjia.h"
#include"xiangjian/xiangjian.h"
int main()
{
        int x,y;
        x=xiangjia(1,2);
        y=xiangjian(2,1);
        printf("1+2=%d\n2-1=%d\n",x,y);
        return 0;
}

makefile

all: main
include xiangjia/xiangjia.mk
include xiangjian/xiangjian.mk
main: main.o xiangjia.o xiangjian.o
        gcc *.o -o main
main.o: main.c
        gcc -c main.c -o main.o
clean:
        rm -f *.o main 





0 0