C++ netbeansc++;:在生成之前执行源脚本

C++ netbeansc++;:在生成之前执行源脚本,c++,netbeans,makefile,environment-variables,development-environment,C++,Netbeans,Makefile,Environment Variables,Development Environment,在Netbeans环境(v8.2)中运行Makefile之前,我想source/opt/something/somescript.com。似乎只有蚂蚁和java才有答案,而不是泛型C++。< /P> Netbeans中只有2个文件可供使用: 用于此目的的Makefile configurations.xml文件,这可能就是实现这一点的方法 然而,查看该配置文件,似乎没有任何关于运行脚本的内容,我也找不到任何在线手册来解释哪些XML标记可用 因此,我的问题是:在构建shell脚本之前,如何将Net

在Netbeans环境(v8.2)中运行
Makefile
之前,我想
source/opt/something/somescript.com
。似乎只有蚂蚁和java才有答案,而不是泛型C++。< /P> Netbeans中只有2个文件可供使用:

  • 用于此目的的
    Makefile
  • configurations.xml
    文件,这可能就是实现这一点的方法
  • 然而,查看该配置文件,似乎没有任何关于运行脚本的内容,我也找不到任何在线手册来解释哪些XML标记可用

    因此,我的问题是:在构建shell脚本之前,如何将Netbeans配置为
    源代码

    • 您所提供的链接证明Makefile是无用的,实际上它至少包含一个将脚本“来源”到构建中的方法:调用shell(使用
      shell
      builtin)以:

      • 源代码脚本(可能会将所有输出重定向到
        /dev/null
      • 调用
        env
        并按摩输出,为每个变量发出
        VAR:=VALUE
        export VAR
      • (可选)将结果写入文件
      然后,如果结果进入一个文件--
      包含该文件;否则,只需
      eval
      shell的输出即可

    • 另一种可能是,在运行Make希望运行的脚本之前,调整magic
      SHELL
      变量以获取脚本的源代码。如果您的脚本很重,这可能会变得很明显,但如果它只是设置了一些环境变量(我对Netbeans一无所知,所以不能说),这可能是正常的
    下面是第一种方法的示例配方(实际上不要将所有内容缩进4个空格,这只是我在与StackOverflow作斗争):

    #在Makefile开头的某个地方 定义源环境 $(shell.1>/dev/null&&env|sed-e's/=/:=/'-e's/^/export/'>$(notdir$1.mk) 恩德夫 $(调用emit-sourceed-env,/opt/something/somescript.com) 包括somescript.com.mk
    您提出的建议不在Netbeans构建方案的框架内。我完全不理解你说的话(对不起),因为这在Netbeans中是不可能的。我所能做的就是修改那个make文件。您会在Makefile中提供解决问题的方法,还是提供在Netbeans上实现这一点的方法?在答案中添加了一个工作的GNU make示例,希望能有所帮助 # Somewhere at the beginning of the Makefile define emit-sourced-env $(shell . $1 > /dev/null && env | sed -e 's/=/:=/' -e 's/^/export /' > $(notdir $1).mk) endef $(call emit-sourced-env,/opt/something/somescript.com) include somescript.com.mk