1、首先,我们使用普通方法编译两个源文件,由于这里是一个源文件调用另一个子程序,我们先要通过命令 # gcc -c source.c ,编译成 .o文件,即目标文件,再执行。
2、这里的警告,我们暂时可以不看。 通过运行最终的可执行文件,我们得到想要的结果。
3、接下来我们编辑一下makefile的配置,直接输入 # vi makefile ,然后在里面编辑如图。简单讲,格式为:目标名(target): 目标文件1 目标文件2 ..<Tab>gcc -o 设置的可执行文件名 目标文件1 目标文件2 ..
4、执行命令前,我们先把所有目标文件( *.o文件)和可执行文件 删了。这里我们只有一个操作,所以我们直接运行make,如图,蓝色框内的是我们实际运行的命令,最终得到可执行文件,运行也是如期的结果。
5、如果我们再一次使用make命令,它提示我们main即可执行文件是最新的。如果我进去某个源文件改了一下,然后再用make命令,他会重新编译,我们看它编译时只重新生成了修改过的目标文件。
6、另外,我们还可以在makefile继续添加操作,比如加个clean命令,来删除指定目标文件,我们在makefile里面添加如下命令:
7、接着,我们运行命令 # make clean ,可以看到他实际上执行了我们的删除目标文件及可执行文件的操作,再执行 #make main ,则生成了名为main的可执行文件,我们也可以同时用#make clean main,表示先删除相关文件后编译成main程序。