makefile的基本使用方法:
有三个文件,file1.c、file2.c、file3.h,第一个文件调用第二个文件的函数,第三个文件为头文件,其makefile为:
gobbin:file1.o file2.o gobbin为程序名称,依赖于file1.o file2.o两个目标文件
gcc file1.o file2.o -o gobbin 编译gobbin可执行文件,-o表示指定的目标文件名
file1.o:file1.c file3.h file1.o依赖于file1.c和file3.h
gcc -c file1.c -o file1.o 编译file1.o文件,-c表示用源文件名命名目标文件,默认生成file.o,可以省去-o
file2.o:file2.c file3.h file2.o依赖于file2.c和file3.h
gcc -c file2.c -o file2.o 编译file2.o文件,-c表示用源文件名命名目标文件,默认生成file.o,可以省去-o
clean:
rm -rf *.o gobbin 当输入命令make clean时,删除*.o和gobbin文件
写好makefile文件后,在命令行中直接输入命令make,就可以自动编译执行了。
为了避免相同的命令出现多次的麻烦,可以定义变量,其实这个变量有点像定义宏
OBJS = file1.o file2.o
CC = gcc
gobbin:file1.o file2.o gobbin : $(OBJS)
gcc file1.o file2.o -o gobbin $(CC) $(OBJS) -o gobbin
file1.o:file1.c file3.h file1.o:file1.c file3.h
gcc -c file1.c -o file1.o $(CC) -c file1.c -o file1.o
file2.o:file2.c file3.h file2.o:file2.c file3.h
gcc -c file2.c -o file2.o $(CC) -c file2.c -o file2.o
clean:
rm -rf *.o gobbin 当输入命令make clean时,删除*.o和gobbin文件