- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在下面的 makefile 中,目标“compile”每次都会执行,无论其依赖项是否更改。然而,对于目标“doc”来说,情况并非如此,尽管依赖关系是相同的。请帮忙!
all : setup compile doc
setup :
@mkdir -p doc bin
compile: ./src/*.java ./src/cs296BookAnalysis/*.java
@echo -n Compiling...
@javac -d ./bin ./src/cs296BookAnalysis/*.java ./src/BookAnalysisG01.java
@echo Done!
doc: ./src/*.java ./src/cs296BookAnalysis/*.java
@echo Generating Documentation using Javadoc...
@javadoc -d ./doc ./src/BookAnalysisG01.java -sourcepath ./src cs296BookAnalysis
@echo Done!
clean: rm -rf doc bin
最佳答案
这是因为 makefile 就是这样工作的:-)。
makefile 由规则组成:以非缩进行开头的每个 block 都是一个规则。每条规则都告诉 make
如何创建某个文件。
通常,“:”左边的部分是生成的文件的名称(目标)。例如,对于 C 程序,您可以编写:
main.o : main.c defs.h
cc -c main.c
这告诉make
:
main.o
的规则main.o
依赖于 main.c
和 defs.h
cc ...
来创建main.o
因此,make
每当时都会运行 cc...
部分
main.o
不存在或main.c
或 defs.h
比 main.o
更新现在,在您的示例中,规则的目标不是创建的文件。此类目标称为“虚假目标”。由于 make
永远不会发现这些目标为文件,因此规则每次都会运行。
doc
规则是一个异常(exception):目录 doc
实际上存在,并且由于 javadoc
写入此目录,因此该目录的时间戳将会更新。 make
将看到 doc
比源文件新,并且不会运行该规则。
也就是说,我强烈建议您不要使用 Makefile 来编译 Java 代码。虽然这当然是可能的,但 Makefile 是为 C 代码设计的,缺乏许多对 Java 有用的功能。相反,使用 Java 构建工具。有几种可用;我可以推荐 Maven .
关于java - 为什么下面的 makefile 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15592043/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!