我的makefile中包含以下代码:
CONTIKI_PROJECT = blank
UPNP = ..
RT = $(UPNP)/../uJ/BUILDENV/RT/
APPL = $(UPNP)/../uJ/Applications/
CCVT ?= $(UPNP)/../classCvt/classCvt
TOBIN ?= $(UPNP)/../classCvt/tobinfile
CMD = $(TOBIN) -c $(CCVT)
upload:
CLASSPATH=$(RT)/real:$(RT)fake:$(RT)/fake/uj javac $(RT)/real/java/lang/*.java
CLASSPATH=$(RT)/real:$(RT)/fake:$(RT)/fake/uj javac $(APPL)/UJ*.java
CLASSPATH=$(RT)/real:$(RT)/fake:$(RT)/fake/uj \
javac $(APPL)/UJ*.java $(APPL)/$(CLASS).java
find $(APPL)/ -iname "$(CLASS).class" >> temp_files
$(CMD) $(APPL)/$(CLASS).class >$(CLASS).raw_ujc
" .raw_ujc"文件出现在makefile的目录中,如预期的那样,是一个简单的文本文件。 tobinfile是一个.c文件,它执行printf并将其输出放入.raw_ujc。 但是,类似地,它在执行printf时生成二进制文件(通过执行fwrite(& v,sizeof(v),1,rawf),其中v是字节,rawf是具有特定名称的文件)。 这会在$(APPL)文件夹中生成二进制文件。 我想将此文件移动到.file_ujc文件所在的makefile文件夹中。
我还没有弄清楚如何做到这一点。有什么建议吗?
答案 0 :(得分:0)
您正在寻找的答案很简单:
$(CMD) $(APPL)/$(CLASS).class >$(CLASS).raw_ujc
-mv $(APPL)/rawf .
这会在rawf
执行后将文件$(APPL)
从$(CMD)
目录移动到当前目录。 -
前缀忽略移动中的错误(例如,如果rawf
文件不存在),可能不是您想要的。