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。