一种名为“makefile”或“Makefile”的文件。
语法规定Makefile中的任何命令之前都必须要有一个tab缩进,否则make就会报错。
----------------------------------------------------------------------------------------------------------------
#!/bin/sh
CC := gcc
CPP := g++
AR := ar
CPPFLAGS := -Wall
SRCS := $(wildcard *.cpp)
OBJS := $(SRCS:%.cpp=%.o)
TARGET := IPC
$(TARGET) : $(OBJS)
$(CPP) -o $(TARGET) $(OBJS)
%.o: %.cpp
$(CPP) -c $(CPPFLAGS) -o $@ $<
.PHONY: clean dep
------------------------------------------------------------------------------------------------------------
CC CPP AR :变量
wildcard函数:扩展通配符
产生一个所有以'.cpp'结尾的文件列表。
SRCS = $(wildcard *.c *.cpp) 表示产生一个所有以.c、.cpp结尾的文件列表,然后存入变量SRCS里。
-W 打开告警 -all 打开所有 -Wall 打开所有告警信息
.PHONY 伪代码 显示地指明一个目标是“伪目标”
“$@”表示目标的集合,就像一个数组,“$@”依次取出目标,并执于命令。
“$<”表示所有的依赖目标集