在window开发环境下,就相当于每个程序一开始都是新建工程,搭好集成环境。而在linux系统中这些都是要自己搭建好,就是用makefile来实现管理。
clean 记住这么写就行 删除main文件还要删除所有.o文件
小例子
OBJ += main.c cmd.c link.c get_interface.c read_fun.c net_fun.c //这里OBJ+= 是这样表达的 当后面的.c文件过多的时候 加上\ 换行
FLAGS = -Wall
CC = gcc
router:$(OBJ)
$(CC) $(OBJ) -o $@(目标文件名 也就是router) (FLAGS)−lpthread∗∗(FLAGS) -lpthread
%.o:%.c**
**(FLAGS)−lpthread∗∗(CC) -c $^ -o $@ $(FLAGS)
.PHONY:clean
clean:
rm router *.o -rfv
梁哥给的万能模版
EXEC=main
OBJ=main.o printf1.o
CC=gcc
CFLAG=-Wall
(EXEC):(EXEC):(EXEC):(OBJ)
$(CC) $^ -o $@
%.o:%.c
$(CC) -c $< -o $@ $(CFLAG)
clean:
rm $(EXEC) *.o