您的位置:首页 > 运维架构 > Linux

Linuxc - Makefile完成项目的管理。

2018-01-23 13:40 169 查看
Makefile完成项目的管理。

root@jiqing-virtual-machine:~/cspace/les2# ls
main.c  Makefile  max.c  max.h  min.c  min.h

root@jiqing-virtual-machine:~/cspace/les2# gcc max.c min.c main.c -o main.out

这才两个模块,就要写这么多。如果很多的话,岂不是累死。

这个时候就通过
Makefile
进行管理。

root@jiqing-virtual-machine:~/cspace/les2# make -v
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

查看是否安装了make。

撰写Makefile文件,

# this is make file
main.out:max.o min.o main.c
gcc max.o min.o main.c -o main.out
max.o:max.c
gcc -c max.c
min.o:min.c
gcc -c min.c

注意了,这里的gcc命令前一定是tab6位。

不可以是4个空格或者6个空格。

可以通过

set ts=6

来设置。

root@jiqing-virtual-machine:~/cspace/les2# make
gcc -c max.c
gcc -c min.c
gcc max.o min.o main.c -o main.out

执行完,会发现多了一些文件。

root@jiqing-virtual-machine:~/cspace/les2# ls
main.c  main.out  Makefile  max.c  max.h  max.o  min.c  min.h  min.o

root@jiqing-virtual-machine:~/cspace/les2# ./main.out
the max value is 33
the min value is 22

正常情况下,大型的项目都是通过Makefile文件来进行编译的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: