标题: 关于makefile写法--模式匹配
lswhbcb
新生入学
Rank: 1
注册用户



UID 190221
精华 0
积分 0(积分有什么用?)
帖子 2
阅读权限 10
注册 2007-4-17
状态 离线
发表于 2007-4-17 17:05  资料  个人空间  短消息  加为好友 
关于makefile写法--模式匹配

关于makefile写法--模式匹配
N0B/A.{S6Z
W3r7F!e0};RW+k`e4C
3F^.^T } T\自己想写个makefile rules 把.o文件跟src分开放在另一个目录obj下,碰到一些问题,我简化一下我的makefile,给大家看看:Linux伊甸园论坛#c-[h[Y,A+@*[
ALL_FILES = ./src/example.c ./src/methods/gauss.c ./src/methods/iterate.c
E:H+z,DtW%I'c6}OBJDIR = ./obj'[.l~
a YZe

OBJ=./obj/example.o ./obj/gauss.o ./obj/iterate.owww.linuxeden.com%iSy1Yj,rC'C

K7@!l0cTZ1|"z7BOUTFILE             := ./prg7kA
b.^\#pGGf

CC                  := gcc
Kr!CX        `'}nDEBUG_CFLAGS        := -g
h+KeuZ7Y7J5p        ULinux伊甸园论坛DEBUG_LINK_CFLAGS   := -g -o
7D+l&x#E+z,U)a
H o^-F+m?1j_9]n&@www.linuxeden.comCOMPILE =$(CC) $(DEBUG_CFLAGS) -c $< -o $@
        `(}|6A t\PRG_LINK=$(CC) $(DEBUG_LINK_CFLAGS) "$(OUTFILE)" $(OBJ)
)W/}_UVLIB_LINK=ar -r $(OUTFILE) $(OBJ) 4UM W}z}m
Linux伊甸园论坛0Y s3C g5y
define targe_template
E1v)q{w\Uwww.linuxeden.com$(1)filter $(patsubst %.o,%.c,$(notdir $(1))), $(ALL_FILES))
k1} YOF8N|.cze$(COMPILE)www.linuxeden.com$h$b:Ej6qg+YWk+E,m
endef@ h]:B3@+_:d

6I1o(N2[WLinux伊甸园论坛$(foreach obj, $(OBJ),$(eval $(call targe_template ,$(obj)))))
~M]'M;Cj
+Mw5J'D.i)zTnallOBJ)c)}+JxD:RP
make提示:Makefile:18: *** missing separator.  Stop.不知道为何?只要是自动让目标查找依耐,原来我写成$(OBJDIR)/%.o:%.c不行,我以为是路径不对;就改为$(OBJDIR)/%.ofilter $* , $(ALL_FILES)) $(warning $*) 打印的$* 茎还是不对,为空;不知道错在那里请高手指点,如果有简妙写法跟好,谢谢

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



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-4-18 09:45  资料  个人空间  短消息  加为好友 
missing separator. Stop? y6j]0mOb3S]
大概是指开头没有加TAB吧





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
lswhbcb
新生入学
Rank: 1
注册用户



UID 190221
精华 0
积分 0(积分有什么用?)
帖子 2
阅读权限 10
注册 2007-4-17
状态 离线
发表于 2007-4-18 09:51  资料  个人空间  短消息  加为好友 
这我知道,加了,我是copy过来的时候[TAB]掉了

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



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-4-18 10:05  资料  个人空间  短消息  加为好友 
不过你确实没有给出完整的或者说看上去可用的MAKEFILE吧





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



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

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

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