windows与makefile中的环境变量传递

来源:互联网 发布:阴阳师辅助软件 编辑:程序博客网 时间:2024/04/29 20:34

1.在windows下设置环境变量

写个.bat文件,set VAR=D:\。

在windows下查看环境变量

第一种:set VAR

第二种:echo %VAR%

2.环境变量的传递过程

在windows下设置变量:cmd.exe 输入set SDK=d:\

等同于cygwin下输入export SDK=d:\\

cygwin的shell下我们通过echo $SDK或echo ${SDK}查看SDK环境变量

makefile通过$$SDK访问shell变量

3.cygwin下realpath函数使用

Makefile内容

all:

echo "$(realpath filename)"

我发现在/bin/下有realpath.exe文件,删除后打印bash:realpath: command not found

另外wildcard函数没有在/bin下,即不是shell可以解释的命令,它是Make.exe包含的函数

shell 命令(shell可以解析的命令): cd、ls和pwd等

Make内嵌函数: wildcard 、subst等

3.Makefile的变量定义说明

以前老是分不清在makefile中的变量定义

CC = arm-gcc到底是make语句还是shell语句

现在知道是make语句。因为shell语句如果出现在makefile中必须是以command的方式出现。

除此以外变量定义是=符号的左右两端空格可有可无,不会出现error。

3.Makefile的规则分析

target:prerequisites;command
command
command是make需要执行的命令。(任意的shell命令)
make会以UNIX的标准shell,也就是/bin/sh来执行。

而在windows下, make以cmd.exe(命令行shell)来执行。

另外tornado2.2有tcl解析器,通过CMD命令:makegen.tcl Project.wpj生成make需要的文件

备注:基本上shell分两大类:

  一:图形界面shell(Graphical User Interface shell 即 GUI shell) 
  例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE。 
  二:命令行式shell(Command Line Interface shell ,即CLI shell) 
  例如: 
  bash / sh / ksh / csh(Unix/linux 系统) 
  COMMAND.COM(MS-DOS系统) 
  cmd.exe/ 命令提示字符(Windows NT 系统) 
  Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统) 
  传统意义上的shell指的是命令行式的shell。
 



0 0
原创粉丝点击