标题: 求教Makefile高手一个问题?
shaohua112
新生入学
Rank: 1
注册用户



UID 176523
精华 0
积分 0(积分有什么用?)
帖子 10
阅读权限 10
注册 2006-12-14
状态 离线
发表于 2007-6-28 14:38  资料  个人空间  短消息  加为好友 
求教Makefile高手一个问题?

程序目录结构: ./main/main.c ./src/sub.c
ET8G%k4M2du.t_$Bwww.linuxeden.com输出:                 ./out/his/    ./out/main/~{;@
@0Fg

[]v p_%^&_ ?.x
Makefile如下:www.linuxeden.comg2L\&d1gk0h[r

/D)C;b4N#a4jSOURCE_DIR := .
,u[U]*}+M:P TBINARY_DIR := ./out
"o^,g-t/| q\/zmodules        := main srcLinux伊甸园论坛V
An&{2E*{.k1C6x,UU

sources        := $(foreach m,$(modules),$(wildcard $(SOURCE_DIR)/$m/*.c))
Y,A+a        E
cu
objects        := $(call source-to-object,$(sources))h]7gbXIK|
G vmS0KZ"fun
source-dir-to-binary-dir = $(addprefix $(BINARY_DIR)/, $(patsubst $(SOURCE_DIR)/%,%,$1));k;g7AG:q0q$o fd
source-to-object = $(call source-dir-to-binary-dir, $(subst .c,.o,$(filter %.c,$1)))
6u?1Q"v;_ CZyLinux伊甸园论坛u,v#t d-Q
$(program): $(objects)
&]o/rl?5L8t&d,K    gcc $(CFLAGS) -o $@ $^www.linuxeden.comC4_6F%E        z;m
Linux伊甸园论坛(U0zYjw5D*Z9Be
define one-compile-ruleLinux伊甸园论坛;Ccmy*B~2U2_,Aw5f
  $1: $2gFv.{r&@ T$Q)|
    @gcc $(CFLAGS) -c $$< -o $$@EN'{        N-U9@$frxH
endefrpb!u!Q@
E{F.d$~)I
问题来了:Linux伊甸园论坛"fG[ b z)x
---------------------------------------------------------------------------------
"`g.E2H4{.`        Z;VLinux伊甸园论坛使用下面两行:
7x0oi-a,x:ALinux伊甸园论坛$(eval $(call one-compile-rule,./out/main/main.o,./main/main.c))l R1y4aRe3g
$(eval $(call one-compile-rule,./out/src/sub.o,./src/sub.c))
*SC_2Mv1t(p~o一切正常,生成.o文件(./out/his/    ./out/main/下),生成可执行程序$(program).
`
R!UJc
---------------------------------------------------------------------------------www.linuxeden.comTq5t^'F I
上面两行不使用换成下面:Linux伊甸园论坛 g$d)L:I"w\2^
define compile-ruleswww.linuxeden.com4aT2lqrYQ
  $(foreach s,$(sources), \NeW
Z
_-ozZ

    $(call one-compile-rule,$(call source-to-object,$s),$s))
8e
TX"HBYjH5`N
endef
ri$@COM
f*X\oV0C"i$(eval $(call compile-rules))
ZC8Z5rZqLinux伊甸园论坛@,W2O/A5U
nL

make一下: [y#p@|*Dj2Q
ERRORgcc: ./out/src/sub.o:./src/sub.c 没有那个文件或文件夹
.EH%h!D6I!@,ko
C
怪哉怪哉,高手们指点指点,到底哪错了?万分感谢
.{?!C(cO
+s!wA#l        k4z(N0L9Vmwww.linuxeden.com[ 本帖最后由 shaohua112 于 2007-6-28 14:50 编辑 ]

顶部
不容错过的IBM 集群技术资源汇总
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 在线
发表于 2007-6-29 09:59  资料  个人空间  短消息  加为好友 
./out/src/???有这个目录?





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
 



当前时区 GMT+8, 现在时间是 2008-5-17 10:41

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.078502 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP