INCLUDES = ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)SoC$(DELIM)$(CONFIG_SOC)$(DELIM)Common$(DELIM)Include} 分析这句makefile
时间: 2023-10-10 08:11:45 浏览: 124
这句makefile是用来设置一个变量`INCLUDES`的。它使用了`shell`函数和`$(INCDIR)`、`$(CC)`、`$(TOPDIR)`、`$(DELIM)`、`$(CONFIG_SOC)`等变量。
具体分析如下:
1. `shell`函数用于执行命令并返回输出结果。
2. `$(INCDIR)`、`$(CC)`、`$(TOPDIR)`、`$(DELIM)`、`$(CONFIG_SOC)`是变量,其值在其他地方被定义。
3. `$(INCDIR)`可能是一个目录,表示包含头文件的目录。
4. `$(CC)`是一个编译器的路径或名称。
5. `$(TOPDIR)`是项目的根目录。
6. `$(DELIM)`是路径分隔符,用于构建路径。
7. `$(CONFIG_SOC)`是一个配置选项,表示SoC(System on Chip)的类型。
8. `Common`和`Include`是目录名称。
综上所述,这句makefile的作用是将头文件的路径添加到变量`INCLUDES`中,以供后续编译使用。具体的路径由变量组合而成,包括根目录、SoC类型、Common目录和Include目录。
相关问题
Makefile脚本x_build: x_filelist_tb common_opts @echo "--------------------------------" @echo "Compiling using $(X_HVL_COMP_CMD)" @echo "--------------------------------" $(X_HVL_COMP_CMD) \ $(X_TIMESCALE) \ ${UVM_OPTS} \ +incdir+$(SYNREFPATH) \ $(APOLLO_DESIGN_FILELIST) \ $(X_COV_OPTS) \ +define$(X_DEFINES) \ +define$(X_DEFINES_MPPHY) \ +define$(X_DEFINES_DEBUG) \ $(X_SV_VIP_OPTS) \ -f filelist_tb.f
这是一个Makefile脚本的x_build目标,它会编译一些SystemVerilog源文件和UVM测试环境。其中,$(X_HVL_COMP_CMD)变量表示编译器命令,$(X_TIMESCALE)表示仿真时间精度,${UVM_OPTS}表示UVM选项,$(SYNREFPATH)表示参考库路径,$(APOLLO_DESIGN_FILELIST)表示设计文件列表,$(X_COV_OPTS)表示覆盖率选项,$(X_DEFINES)、$(X_DEFINES_MPPHY)、$(X_DEFINES_DEBUG)表示一些宏定义,$(X_SV_VIP_OPTS)表示SystemVerilog VIP选项,-f filelist_tb.f表示测试文件列表。
QT5.12.12 ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed. 已经设置 OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s \ OPENSSL_LIBS='-lcrypto -lssl' \ OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include \ OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib \
根据你提供的信息,你已经设置了 OpenSSL 的路径和库信息,但是仍然遇到了相同的错误。这可能是因为 QT 配置过程中没有正确识别 OpenSSL 的库和头文件路径,或者 OpenSSL 版本不兼容。
你可以尝试在 configure 命令中明确指定 OpenSSL 的库和头文件路径,方法是使用 -openssl-linked 选项,并在其后加上正确的路径信息。例如:
```
./configure -openssl-linked OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s OPENSSL_LIBS='-lcrypto -lssl' OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib
```
如果仍然无法解决问题,可以尝试更新 OpenSSL 到最新版本,并重新编译 QT。如果你已经使用最新版本的 OpenSSL,可能需要查看 QT 的版本是否与 OpenSSL 兼容。QT5.12.12 可以使用 OpenSSL 1.1.1 系列的版本,建议使用这个版本进行编译。
阅读全文