现有如下三个文件
文件1:
//main.c
#include<stdio.h>
#include"sub.h"
void main()
{
printf("Main fun!\n");
sub_fun();
}
文件2:
//sub.h
void sub_fun();
文件3:
//sub.c
void sub_fun()
{
printf("Sub fun!\n");
}
现在将文件1-main.c和文件2-sub.h放在文件夹mainDir中,文件3-sub.c放在文件夹subDir中。现在打算在文件夹mainDir和文件夹subDir中分别编写Makefile,然后在文件夹mainDir中通过make命令完成编译。
mainDir中Makefile:
main:first main.c sub.h
gcc -o main main.c subDir/sub.o
first:
make -C subDir/
subDir中Makefile:
sub.o:sub.c
gcc -o sub.c -o sub.c
在mainDir中执行
#make main
完成编译