1、文件夹中仅存在.c文件,不存在makefile:
----------直接make .c的文件名
例如:
main.c
执行 make main
-----》会执行 gcc main.c -o main
2、文件夹中存在.c文件和makefile,makefile中仅有编译选项和链接选项
例1:
main.c makefile
//makefile中内容:
CFLAGS += -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE
执行 make main
-----》会执行 gcc -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE main.c -o main
例2:
pthread_create函数的说明我们可以看到:该函数编译和链接的时候都需要用到 -pthread
方法1:编译和链接选项放在makefile文件中,执行执行 make 文件名 命令
注:CFLAGS为编译选项,LDFLAGS为链接选项
//makefile文件内容
CFLAGS+= pthread
LDFLAGS+= pthread
程序在 test.c文件中
执行 make test命令,如下显示:
方法2:同时编译和链接
直接执行如下命令
方法3: 先编译后链接
注意:编译的时候,-c后面跟的是源文件;链接的时候,是.o文件。
3、总结:
当前目录下没有makefile文件时,不会执行什么参数,当前目录下有makefile时,会去读取makefile中的参数标识。