通用的makefile文件

# gcc 编译设置
CFLAGS = -O2 -g

# 编译时的目标文件
OBJS =  global.o icmp.o main.o

# 生成的目录程序
TARGET = icmp

# 存放目标文件目录
OBJSDIR = objs
$(TARGET):$(OBJSDIR) $(OBJS)
	$(CC) -o $(TARGET) $(OBJSDIR)/*.o $(CFLAGS) -lpthread


# 生成目标文件;
# # 依赖项中的 %.o:%.c 的作用是将目标项的.o扩展名替换成.c扩展名
$(OBJS):%.o:%.c
	$(CC) -c $(CFLAGS) {1}lt; -o $(OBJSDIR)/$@

# 创建存放目标文件的目录
$(OBJSDIR):
	mkdir -p ./$@

clean:
	-$(RM) $(TARGET)
	-$(RM) $(OBJSDIR)/*.o

你可能感兴趣的:(gcc,扩展,makefile)