Openssl NMake的安装参数是什么意思

Openssl NMake的安装参数是什么意思,openssl,nmake,Openssl,Nmake,大家,请原谅我在这里发布了一些困惑,希望能得到一些帮助,以便更好地理解 我试图在VS 2012中编译OpenSSL src。一切顺利。但是有一些困惑是什么 运行命令nmake-f ms\ntdll.mak和nmake-f ms\ntdll.mak install。 据我理解-f表示引用一个makefile。 安装意味着一个目标 makefile的目标是什么? 我的理解只是一组要执行的dos命令。我可以在ntdll.mak中看到代码 为什么要跑两次? 我的理解是前一个只是构建。第二个是为MSIEC

大家,请原谅我在这里发布了一些困惑,希望能得到一些帮助,以便更好地理解

我试图在VS 2012中编译OpenSSL src。一切顺利。但是有一些困惑是什么

运行命令nmake-f ms\ntdll.mak和nmake-f ms\ntdll.mak install。 据我理解-f表示引用一个makefile。 安装意味着一个目标

makefile的目标是什么? 我的理解只是一组要执行的dos命令。我可以在ntdll.mak中看到代码

为什么要跑两次? 我的理解是前一个只是构建。第二个是为MSIECT等安装包构建的。谢谢
是的,你的理解是正确的

-f标志告诉它使用以下文件作为Makefile

makefile的目标要么是给定给make的参数,要么是makefile中的第一个目标(通常是全部)

为什么要运行两次:正如您所猜测的,第一次调用make在工作目录中构建软件,第二次调用使用目标标签下面给出的DOS命令序列将构建结果复制到安装位置

所有这些细节对于make程序的任何变体都是通用的,而不是特定于微软的nmake。您没有询问有关nmake的任何具体问题

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