GNU针对Unix与Windows进行测试

GNU针对Unix与Windows进行测试,windows,shell,unix,gnu-make,Windows,Shell,Unix,Gnu Make,GNU Make测试系统是Unix还是同时在Unix和Windows上工作的Windows是什么 例如,如果在unix上shell命令foo总是等于bizz,在windows上总是等于buzz,我可以通过在makefile中使用以下命令获得此效果: IS_UNIX := $(shell foo) ifeq "$(IS_UNIX)" "bizz" BUILD_ARCH := UNIX else BULID_ARCH := WINNT endif 什么命令可以充当foo?这对我有用(foo=ve

GNU Make测试系统是Unix还是同时在Unix和Windows上工作的Windows是什么

例如,如果在unix上shell命令
foo
总是等于
bizz
,在windows上总是等于
buzz
,我可以通过在makefile中使用以下命令获得此效果:

IS_UNIX := $(shell foo)

ifeq "$(IS_UNIX)" "bizz"
BUILD_ARCH := UNIX
else
BULID_ARCH := WINNT
endif
什么命令可以充当
foo

这对我有用(
foo
=
ver
):

这对我很有用(
foo
=
ver
):


你试过了吗?对我来说,在Win XP上,uname没有定义:
“uname”没有被识别为内部或外部命令、可操作程序或批处理文件。
它看起来像是在Windows上,你应该使用
ver
而不是
uname
。是否有测试来查看是否定义了可从Windows移植到Unix的命令?您尝试过吗?对于我在Win XP上,未定义uname:
“uname”未被识别为内部或外部命令、可操作程序或批处理文件。
它看起来像是在Windows上,您将使用
ver
而不是
uname
。是否有测试来查看是否定义了可从Windows移植到Unix的命令?
IS_WINNT := $(shell ver)

ifeq "$(IS_WINNT)" ""
BUILD_ARCH := UNIX
else
BULID_ARCH := WINNT
endif