Batch file 如何将DDK makefile变量传递给MS-DOS批处理

Batch file 如何将DDK makefile变量传递给MS-DOS批处理,batch-file,makefile,dos,wdk,Batch File,Makefile,Dos,Wdk,在DDK makefile中,有预定义的宏/变量$(O),其值类似于objchk_win7_x86\i386 在MS-DOS批处理中,它将“build”调用到此生成文件中。接下来我想使用变量$(O)来指定输出目录 那么,是否可以将maro$(O)作为变量传递给MS-DOS批处理 谢谢你的提示 ms dos批处理可能如下所示: set ddk=c:\winddk\7600.16385.1 cd /d %my_libs% build /zwg // Call DDK makefile. Th

在DDK makefile中,有预定义的宏/变量$(O),其值类似于objchk_win7_x86\i386

在MS-DOS批处理中,它将“build”调用到此生成文件中。接下来我想使用变量$(O)来指定输出目录

那么,是否可以将maro$(O)作为变量传递给MS-DOS批处理

谢谢你的提示

ms dos批处理可能如下所示:

set ddk=c:\winddk\7600.16385.1
cd    /d %my_libs%
build /zwg  // Call DDK makefile. The makefile defines macro $O=xxx.

set out_dir=%O%  // How to use the makefile marco/variable here ..
cp /y %out_dir% c:/
...

我不熟悉DDK make过程,但也不熟悉大多数其他过程。如果您使用参数设置环境变量,那么它将在构建中默认

比如说

set O=%out_dir%

除非我误解了您的问题。

将环境变量传递给构建应该没有问题,我的问题正好相反,即如何将makefile宏导出到MS-DOS命令环境?在GNU makefile中,规则是“targets:premissions recipe”,在这里我们可以执行系统命令将变量导出到recipe中的env。我在DDK makefile/source中没有看到执行自定义配方的类似规则。无论如何,谢谢你的评论。我的一个想法是让构建在编译时生成一个批处理文件(echo set O=%out\u dir%>setvars.bat),然后在构建完成后执行bat文件,设置将作为环境变量提供。不幸的是,makefile在一个单独的环境中运行,如果没有像这样的欺骗,您无法专门传回env设置。