多个文件的makefile例子

本文主要是说明多个文件下,makefile的使用!  

对于C

1. 假设我们有三个文件:hello.c    sum.c   sum.h

每个文件的具体的内容如下:

sum.h:

int  sum(int a,int b);


sum.c:

#include "sum.h"  //注意:因为sum.h是我们自己的一个头文件,所以要用“   ”,而不能用<  >;

int sum(int a,int b)

{

      int  c = a+b;

      return c

}

hello.c

#include <stdio.h>

#include "sum.h"

void main()

{

       int a=3;

       int b = 4;

       printf("I have learning the makefile command %d days\n", sum(a,b));

2. 接下来是写关于makefile配置问题;

在这个上面文件所在的文件夹中新建一个名字为makefile的文件(这样我们通过make命令才能找到)

这个makefile的命令如下:(具体的格式要求可参考相应的说明)

MFL:hello.o sum.o  // 这里的.o文件是下面我们全部生成的都要放到这里

          cc  -o MFL  hello.o sum.o //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

hello.o:hello.c   //注意这里不用加上sum.h了,虽然在hello.c中有sum.h的引用!

         cc  -c hello.c  //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

sum.o: sum.h sum.c

         cc -c sum.h sum.c    //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错!

clean:

       rm MFL sum.o hello.o   //注意,这里前面的空格是按Tab键产生的,不可自己加,否则报错


3. 在当前的文件夹下运行make 命令后:

再运行:./MFL就OK了!

C++

注意,我给你的makefile中的 \TAB\ 表示那个地方应该用一个制表符来替代(输入TAB, 百度无法体现出TAB,全是空格). make后会产生可执行文件 main,用 ./main 来执行。 make clean 清楚所有编译产生的文件。

.PHONY: all clean

all : main

main : main.o a.o b.o
\TAB\ g++ -o main main.o a.o b.o

main.o : main.cpp b.h
\TAB\ g++ -o main.o -c main.cpp

a.o : a.cpp a.h
\TAB\ g++ -o a.o -c a.cpp

b.o : b.cpp b.h a.h
\TAB\ g++ -o b.o -c b.cpp

clean:
\TAB\ @rm -f a.o b.o main.o main

  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值