无法弄清楚如何从NMAKE
问题描述:
我做这样的读文件:无法弄清楚如何从NMAKE
all:
@SET /p filecontent= < somefile.txt
@echo %filecontent%
然而filecontent变量似乎并没有保存文件somefile.txt的内容
答
只需确保somefile.txt
处于可接受的nmake语法,然后!include
它。因此:
c:>type somefile.txt
PASSWORD=secret
c:>type makefile
!INCLUDE somefile.txt
!MESSAGE Password is [$(PASSWORD)]
c:>nmake -nologo
Password is [secret]
答
你可以试试像这样:
# ---- vitaly.mak ----
target1:
# create and invoke a temporary cmd file
@<<mygetpassword.cmd
@echo off
setlocal
@SET /p filecontent= < secret.txt
@echo %filecontent%
endlocal
<<
#--- END ---
我认为a cmd/bat file run within nmake.exe cannot affect the environment of nmake。因此,您必须使用使用您从临时cmd文件内的secret.txt中抓取的密码。
答
它可以读取一个文件,是不使用!INCLUDE
有效NMAKE文件。对于examle如果我们有一个包含单个文本行,我们可以做一个版本的文件version
:
//version file
1.2.4
//makefile
VERSION= \
!INCLUDE <version>
如果文件中包含一个以上的线这是行不通的。
你希望对内容做什么?有可能有更好的方法来做到这一点。 – crazyscot 2010-09-19 10:51:14
somefile.txt是一个包含密码的单行文件,我不想在每个makefile中进行硬编码 – 2010-09-19 10:56:58