1
0
mirror of synced 2025-12-29 08:27:57 +08:00
Files
SnowFlake-IdGenerator/PHP/src/makefile
2021-04-07 11:51:02 +08:00

34 lines
1.2 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#Makefile
#自定义变量
CC = gcc
#编译选项生成所有警告、不优化、采用c++11标准、输出调试信息、只编译并生成目标文件
CFLAGS = -Wall -O2 -g -c
FILE = ./test.c
#wildcard为Makefile模式匹配关键字获取目标目录符合匹配模式的所有文件名
SRCS = $(FILE) $(wildcard ./snowflake/*.c)
#patsubst为Makefile模式替换关键字查找字符串SRCS中按空格分开的单词并将符合模式%.cpp的字符串全部替换成%.o
OBJS = $(patsubst ./%.c, ./%.o, $(SRCS))
EXES = test
RM = rm -f
#默认任务
default:
#默认任务要执行的命令按上面的变量名替换为变量值后执行前面必须有一个Tab符
$(MAKE) $(EXES)
#模式匹配,冒号前者为目标项,冒号后面为依赖项
$(EXES): $(OBJS)
#$^表示规则中所有的依赖项,$@表示规则中的目标
$(CC) $^ -lm -lpthread -o $@
# %模式自动匹配符
%.o: %.c
# $<表示规则中的第一个依赖项
$(CC) $(CFLAGS) $< -o $@
#伪目标声明clean为伪目标或标签为了避免该清理任务与文件名相同而被错识别
.PHONY: clean
clean:
#清理之前的目标文件,以便下次完整的重新编译
$(RM) $(OBJS) $(EXES)