(一)外层makefile
SUBDIRS = cell-renderer-spin \#文件夹名
custom-cell-renderer \
custom-list-model \
custom-list-model-sorted \
hello-world \
simple-list \
treeview-demo
all: $(SUBDIRS)
for dir in $(SUBDIRS); do\
cd $dir && make && cd ..;\#批量编译
done; \
clean: $(SUBDIRS)
for dir in $(SUBDIRS); do\
cd $dir && make clean && cd ..;\
done;
rm -f `find -name "*~"` || /bin/true
(二)里层makefile
CC = gcc
OBJS = main.o custom-list.o
CFLAGS = -g -O2 `pkg-config --cflags gtk+-2.0`
customlist: $(OBJS)
gcc -o customlist $(OBJS) `pkg-config --libs gtk+-2.0`
clean:
rm $(OBJS) customlist 2>/dev/null || /bin/true
本文介绍了一个使用Makefile进行多个子目录下程序批量编译的实例。外层Makefile定义了所有子项目的列表,并通过循环调用每个子目录内的里层Makefile来完成编译任务。此外,还提供了清理已编译文件的功能。
4520

被折叠的 条评论
为什么被折叠?



