我尝试学习为Java项目创建makefile。我写了一个基础类Hello.java。然后我写了一个makefile,如下所示:
makefile:
JFLAGS = -g
JC = javac
.SUFFIXES: .java .class
%.class: %.java
$(JC) $(JFLAGS) $^
CLASSES = \
Hello.java
default: classes
classes: $(CLASSES:.java=.class)
clean:
$(RM)*.class
当我尝试在cygwin上运行此文件并键入make -f makefile时,出现了这样的错误:make:'makefile'不需要做任何事情。我怎么解决这个问题?
如果运行不带参数的make,它将尝试重建在makefile中找到的第一个目标。
makefile中的第一行是:
makefile:
它定义了一个目标makefile
...因此,如果您make
不带任何参数运行它将尝试构建makefile
目标。没有更新makefile
目标的规则,并且该文件存在,因此make声明它是最新的,没有任何操作可以更新它。
我根本不知道为什么要在那行,但是无论如何,您都需要确保makefile中的第一个目标是您在运行make时要构建的目标。在这里,您似乎想default
成为第一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句