java文件 linux_为Java / Linux制作文件

一旦我对makefile做了一些更改,我运行它之后有以下makefile,现在当我运行它时,我得到一个“make:没有什么可以为`default’做.”我该怎么强迫它重建?我执行“make”并“make clean”,当我输入“make”时,我仍然会收到错误消息.

另外,如何将src目录中的log4.properties文件复制到目标目录(在make文件和命令行中:javac -classpath src:lib / log4j-1.2.16.jar src / * .java -d bin)?

#

# define compiler and compiler flag variables

#

JFLAGS = -g -cp .:src:lib/log4j-1.2.16.jar

JC = javac

#

# Clear any default targets for building .class files from .java files; we

# will provide our own target entry to do this in this makefile.

# make has a set of default targets for different suffixes (like .c.o)

# Currently, clearing the default for .java.class is not necessary since

# make does not have a definition for this target, but later versions of

# make may, so it doesn't hurt to make sure that we clear any default

# definitions for these

#

.SUFFIXES: .java .class

#

# Here is our target entry for creating .class files from .java files

# This is a target entry that uses the suffix rule syntax:

# DSTS:

# rule

# 'TS' is the suffix of the target file, 'DS' is the suffix of the dependency

# file, and 'rule' is the rule for building a target

# '$*' is a built-in macro that gets the basename of the current target

# Remember that there must be a before the command line ('rule')

#

.java.class:

$(JC) $(JFLAGS) $*.java

#

# CLASSES is a macro consisting of 4 words (one for each java source file)

#

CLASSES = \

src/MatrixDriver.java \

src/ConcreteMatrix.java \

src/Matrix.java \

src/Submatrix.java

#

# the default make target entry

#

default: classes

#

# This target entry uses Suffix Replacement within a macro:

# $(name:string1=string2)

# In the words in the macro named 'name' replace 'string1' with 'string2'

# Below we are replacing the suffix .java of all words in the macro CLASSES

# with the .class suffix

#

classes: $(CLASSES:.java=.class)

#

# RM is a predefined macro in make (RM = rm -f)

#

clean: FORCE

$(RM) *.class

FORCE:

解决方法:

问题是这个:

.java.class:

$(JC) $(JFLAGS) $*.java

不会做你认为它做的事情.也许你的意思是这样的?

%.class: %.java

$(JC) $(JFLAGS) $^

标签:java,linux,makefile

来源: https://codeday.me/bug/20191003/1849217.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值