标题: 求教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
M1a/jOBkVe

输出:                 ./out/his/    ./out/main/:r/Oj
I
]2JSuIxp


)eA P.e.uuX#_ Ywww.linuxeden.comMakefile如下:
['t        T)tYN        `Su%bLinux伊甸园论坛
G1R0Sc+Yk+Y0_

SOURCE_DIR := .
H.m,ntQ5GBINARY_DIR := ./out
3y'Pp5F6H'} wAmodules        := main src
{H$^        P ]www.linuxeden.comsources        := $(foreach m,$(modules),$(wildcard $(SOURCE_DIR)/$m/*.c))
q'P`w'j]4uobjects        := $(call source-to-object,$(sources))"e_!oP/z4RSO%k8k
D|4[V'l ~
g

source-dir-to-binary-dir = $(addprefix $(BINARY_DIR)/, $(patsubst $(SOURCE_DIR)/%,%,$1))
.[`9ULGwww.linuxeden.comsource-to-object = $(call source-dir-to-binary-dir, $(subst .c,.o,$(filter %.c,$1)))4X\z{8V4e,B(H

F+g wPdusw7sY$(program): $(objects)
Q Jj-d}!ex9R    gcc $(CFLAGS) -o $@ $^
)|5ZW5Xh;kMwww.linuxeden.com4jMg!a\
define one-compile-rule
%~/mgn$k] Z  $1: $2
%e*p.O:V1y|fSwww.linuxeden.com    @gcc $(CFLAGS) -c $$< -o $$@
`@
aU/A*E9Pwww.linuxeden.com
endefl&ep:Wi;Xsh
d H
~.Z
I
]

问题来了:
"nt s%P HE:SLinux伊甸园论坛---------------------------------------------------------------------------------:t4Y2C,H2E
kU;s A8H5f

使用下面两行:wRbs5Lft)nT6P
$(eval $(call one-compile-rule,./out/main/main.o,./main/main.c))
)VRyj}{w$(eval $(call one-compile-rule,./out/src/sub.o,./src/sub.c))
5^n8h+e r`7eR一切正常,生成.o文件(./out/his/    ./out/main/下),生成可执行程序$(program).
D9iR1@"w
R})W
---------------------------------------------------------------------------------
-EBt3]0y7b1d上面两行不使用换成下面:
        \:xv@/Xm~X        Jdefine compile-rules
!^2A&OUk`{  $(foreach s,$(sources), \
T2K#h?K2Fw ]!I    $(call one-compile-rule,$(call source-to-object,$s),$s))
"k-z
D-g'h Q
endefLinux伊甸园论坛
ix&_c
h\K;Inn


K{ ]6]|0_8f"}$(eval $(call compile-rules))
6W R2h-]4P8z F
J*Uccd
YYH k1G3DQ%v
make一下:4I_$vP;a)fE]+^w
ERRORgcc: ./out/src/sub.o:./src/sub.c 没有那个文件或文件夹

Pt+orw,ia
怪哉怪哉,高手们指点指点,到底哪错了?万分感谢
cJ4])SD(qzLinux伊甸园论坛Cz&xVPhM7i u~
[ 本帖最后由 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 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
不容错过的IBM 集群技术资源汇总
 



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

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

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