一个典型makefile的写法

#关于pkg-config的使用,环境变量的设置以及其他linux技巧,请参考《linux c 编程小结》

CFLAGS += `pkg-config --cflags libavformat libavcodec libavdevice libswscale x264`

LIBS += -L/opt/vc/lib

LIBS += `pkg-config --libs libavformat libavcodec libavdevice libswscale x264`


SRC = $(wildcard *.c)


# patsubst把$(SRC)中的变量符合后缀是.c的全部替换成.o  
# 还有一个$(notdir $(SRC))表示把src中的所有文件的目录前缀去掉

OBJS = $(patsubst %.c,%.o,$(SRC))


# $@表示目标文件,$^表示所有依赖文件 $<表示第一个依赖文件
video:$(OBJS)
gcc  -o $@ $^ $(LIBS)
video.o:video.c
gcc $(CFLAGS) -c $<
clean:
rm video video.o

你可能感兴趣的:(云服务器linux)