一个简单的MAKEFILE问题, 高手帮忙看一下.

COOKER 2009-04-27 11:46:48
MakeFile内容如下:

##############################################################################
# Makefile
##############################################################################
ifndef TOP
TOP = ..
CONFIG = $(TOP)/config
endif

include $(CONFIG)

############################# targets section ################################
# If you want to create a library with the objects files, define the name here
OBJS = test.o
TARGETS = test

all: default $(TARGETS)

######################### Makefile.rules section #############################
include $(TOP)/Makefile.rules

ifeq ($(SHAREDLIBS), Y)
LD_NANOXCLIENTLIBS = $(CCNANOXCLIENTLIBS)
else
LD_NANOXCLIENTLIBS = $(NANOXCLIENTLIBS)
endif

######################## Tools targets section ###############################
$(TARGETS): $(OBJS) $(NANOXCLIENTLIBS) $(TOP)/config
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)

clr:
rm -f *.o *~ .depend $(TARGETS)


但make之后出现如下错误:

No rule to make target ` test ', needed by `test'.

不知道怎么修改,请指点一二,谢谢啦~!
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hupo1982 2009-04-27
  • 打赏
  • 举报
回复
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
这一行前面要有一个"Tab"空格,makefile才会去执行它
hupo1982 2009-04-27
  • 打赏
  • 举报
回复
那就有点奇怪了,如果你是在windows下写的makefile,就用dos2unix转一下
如果不是,先把
$(TARGETS): $(OBJS) $(NANOXCLIENTLIBS) $(TOP)/config
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
这两行的变量全部替换掉,再看看有什么错误提示
COOKER 2009-04-27
  • 打赏
  • 举报
回复
人工置顶...
COOKER 2009-04-27
  • 打赏
  • 举报
回复
&(CC)前面有TAB键的. 只是COPY到论坛里就没了.

就像RM前面也有TAB键的....

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧