当前位置: 技术问答>linux和unix
一个简单的MAKEFILE问题, 高手帮忙看一下.
来源: 互联网 发布时间:2016-06-01
本文导语: MakeFile内容如下: ############################################################################## # Makefile ############################################################################## ifndef TOP TOP = .. CONFIG = $(TOP)/config endif include $(CONFIG) #################...
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'.
不知道怎么修改,请指点一二,谢谢啦~!
##############################################################################
# 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'.
不知道怎么修改,请指点一二,谢谢啦~!
|
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
这一行前面要有一个"Tab"空格,makefile才会去执行它
这一行前面要有一个"Tab"空格,makefile才会去执行它
|
那就有点奇怪了,如果你是在windows下写的makefile,就用dos2unix转一下
如果不是,先把
$(TARGETS): $(OBJS) $(NANOXCLIENTLIBS) $(TOP)/config
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
这两行的变量全部替换掉,再看看有什么错误提示
如果不是,先把
$(TARGETS): $(OBJS) $(NANOXCLIENTLIBS) $(TOP)/config
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
这两行的变量全部替换掉,再看看有什么错误提示