Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2716617
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类:

2010-02-02 14:55:54

$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) 

这句话可能的没有看明白

测试如下:
# names := a b c d
# $(foreach n, $(names), $(shell echo $(n).o))
FFLIBS := avdevice avformat avcodec avutil swscale
SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \
               ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS \
               HOSTPROGS BUILT_HEADERS
define RESET
$(1) :=
$(1)-yes :=
endef
define DOSUBDIR
$(foreach V,$(SUBDIR_VARS),$(shell echo -e "$(call RESET,$(V))***"))
SUBDIR := $(1)/
include $(1)/Makefile
endef
all : 
 $(foreach D,$(FFLIBS),$(shell echo -e "$(call DOSUBDIR,lib$(D))\n\n"))


测试结果:(需要调整版式)
OBJS :=
OBJS-yes :=
FFLIBS :=
FFLIBS-yes :=
CLEANFILES :=
CLEANFILES-yes :=
DIRS :=
DIRS-yes :=
TESTPROGS :=
TESTPROGS-yes :=
EXAMPLES :=
EXAMPLES-yes :=
SKIPHEADERS :=
SKIPHEADERS-yes :=
ALTIVEC-OBJS :=
ALTIVEC-OBJS-yes :=
MMX-OBJS :=
MMX-OBJS-yes :=
NEON-OBJS :=
NEON-OBJS-yes :=
X86-OBJS :=
X86-OBJS-yes :=
YASM-OBJS-FFT :=
YASM-OBJS-FFT-yes :=
YASM-OBJS :=
YASM-OBJS-yes :=
HOSTPROGS :=
HOSTPROGS-yes :=
BUILT_HEADERS :=
BUILT_HEADERS-yes :=
SUBDIR := libavdevice/
include libavdevice/Makefile
OBJS :=OBJS-yes :=
FFLIBS :=FFLIBS-yes :=
CLEANFILES :=CLEANFILES-yes :=
DIRS :=DIRS-yes :=
TESTPROGS :=TESTPROGS-yes :=
EXAMPLES :=EXAMPLES-yes :=
SKIPHEADERS :=SKIPHEADERS-yes :=
ALTIVEC-OBJS :=ALTIVEC-OBJS-yes :=
MMX-OBJS :=MMX-OBJS-yes :=
NEON-OBJS :=NEON-OBJS-yes :=
X86-OBJS :=X86-OBJS-yes :=
YASM-OBJS-FFT :=YASM-OBJS-FFT-yes :=
YASM-OBJS :=YASM-OBJS-yes :=
HOSTPROGS :=HOSTPROGS-yes :=
BUILT_HEADERS :=BUILT_HEADERS-yes :=***SUBDIR := libavformat/include libavformat/Makefile OBJS :=OBJS-yes :=
FFLIBS :=FFLIBS-yes :=
CLEANFILES :=CLEANFILES-yes :=
DIRS :=DIRS-yes :=
TESTPROGS :=TESTPROGS-yes :=
EXAMPLES :=EXAMPLES-yes :=
SKIPHEADERS :=SKIPHEADERS-yes :=
ALTIVEC-OBJS :=ALTIVEC-OBJS-yes :=
MMX-OBJS :=MMX-OBJS-yes :=
NEON-OBJS :=NEON-OBJS-yes :=
X86-OBJS :=X86-OBJS-yes :=
YASM-OBJS-FFT :=YASM-OBJS-FFT-yes :=
YASM-OBJS :=YASM-OBJS-yes :=
HOSTPROGS :=HOSTPROGS-yes :=
BUILT_HEADERS :=BUILT_HEADERS-yes :=***SUBDIR := libavcodec/include libavcodec/Makefile OBJS :=OBJS-yes :=
FFLIBS :=FFLIBS-yes :=
CLEANFILES :=CLEANFILES-yes :=
DIRS :=DIRS-yes :=
TESTPROGS :=TESTPROGS-yes :=
EXAMPLES :=EXAMPLES-yes :=
SKIPHEADERS :=SKIPHEADERS-yes :=
ALTIVEC-OBJS :=ALTIVEC-OBJS-yes :=
MMX-OBJS :=MMX-OBJS-yes :=
NEON-OBJS :=NEON-OBJS-yes :=
X86-OBJS :=X86-OBJS-yes :=
YASM-OBJS-FFT :=YASM-OBJS-FFT-yes :=
YASM-OBJS :=YASM-OBJS-yes :=
HOSTPROGS :=HOSTPROGS-yes :=
BUILT_HEADERS :=BUILT_HEADERS-yes :=***SUBDIR := libavutil/include libavutil/Makefile OBJS :=OBJS-yes :=
FFLIBS :=FFLIBS-yes :=
CLEANFILES :=CLEANFILES-yes :=
DIRS :=DIRS-yes :=
TESTPROGS :=TESTPROGS-yes :=
EXAMPLES :=EXAMPLES-yes :=
SKIPHEADERS :=SKIPHEADERS-yes :=
ALTIVEC-OBJS :=ALTIVEC-OBJS-yes :=
MMX-OBJS :=MMX-OBJS-yes :=
NEON-OBJS :=NEON-OBJS-yes :=
X86-OBJS :=X86-OBJS-yes :=
YASM-OBJS-FFT :=YASM-OBJS-FFT-yes :=
YASM-OBJS :=YASM-OBJS-yes :=
HOSTPROGS :=HOSTPROGS-yes :=
BUILT_HEADERS :=BUILT_HEADERS-yes :=***SUBDIR := libswscale/include libswscale/Makefile

最终是否是这个意思,欢迎留言讨论
阅读(3823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~