2014-10-30 22 views
0

全部,请原谅我在这里发布一些疑惑,希望能够得到一些帮助,以便更好地理解。NMake的安装参数是什么意思

我想在VS 2012中编译OpenSSL src。一切都顺利通过。但只是有一些困惑,这是

  1. 运行命令nmake -f ms\ntdll.maknmake -f ms\ntdll.mak install

以我的理解。 -f表示引用一个makefile。 install意味着一个目标。

  1. makefile的目标是什么?

我的理解只是一组要执行的dos命令。我可以看到ntdll.mak中的代码。

install: all 
    $(MKDIR) "$(INSTALLTOP)" 
    $(MKDIR) "$(INSTALLTOP)\bin" 
    $(MKDIR) "$(INSTALLTOP)\include" 
    $(MKDIR) "$(INSTALLTOP)\include\openssl" 
    $(MKDIR) "$(INSTALLTOP)\lib" 
    $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" 
    $(CP) "$(BIN_D)\$(E_EXE).exe $(INSTALLTOP)\bin" 
    $(MKDIR) "$(OPENSSLDIR)" 
    $(CP) apps\openssl.cnf "$(OPENSSLDIR)" 
    $(CP) "$(O_SSL)" "$(INSTALLTOP)\bin" 
    $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\bin" 
    $(CP) "$(L_SSL)" "$(INSTALLTOP)\lib" 
    $(CP) "$(L_CRYPTO)" "$(INSTALLTOP)\lib" 
    $(MKDIR) "$(INSTALLTOP)\lib\engines" 
    $(CP) "$(E_SHLIB)" "$(INSTALLTOP)\lib\engines" 



test: $(T_EXE) 
    cd $(BIN_D) 
    ..\ms\test 
  • 为什么运行nmake两次?我的理解以前的只是建立。第二个是建立一个像msi等安装包。谢谢。
  • 回答

    0

    是你的理解是正确的。

    1. -f标志告诉它使用以下文件作为生成文件
    2. 生成文件的目标是(给予使第一目标中生成文件的参数这常常是所有 )。
    3. 为什么运行它两次:你推测,化妆的第一个呼叫建立工作目录里的软件和第二份构建使用DOS的程序安装位置的结果命令的目标标签如下。

      所有这些细节都是通用的make程序的任何变体,而不是具体到微软的NMAKE。你没有问过有关nmake的任何具体信息。

    +0

    明白了!谢谢。 – 2015-01-05 01:59:05