相关疑难解决方法(0)

操作系统检测makefile

我经常在几台不同的计算机和几种不同的操作系统上工作,这些操作系统是Mac OS X,Linux或Solaris.对于我正在进行的项目,我从远程git存储库中提取代码.

无论我在哪个终端,我都希望能够处理我的项目.到目前为止,我已经找到了通过每次切换计算机时更改makefile来绕过操作系统更改的方法.然而,这是乏味的,并引起一堆头痛.

如何修改我的makefile,以便它检测我正在使用哪个操作系统并相应地修改语法?

这是makefile:

cc = gcc -g
CC = g++ -g
yacc=$(YACC)
lex=$(FLEX)

all: assembler

assembler: y.tab.o lex.yy.o
        $(CC) -o assembler y.tab.o lex.yy.o -ll -l y

assembler.o: assembler.c
        $(cc) -o assembler.o assembler.c

y.tab.o: assem.y
        $(yacc) -d assem.y
        $(CC) -c y.tab.c

lex.yy.o: assem.l
        $(lex) assem.l
        $(cc) -c lex.yy.c

clean:
        rm -f lex.yy.c y.tab.c y.tab.h assembler *.o *.tmp *.debug *.acts
Run Code Online (Sandbox Code Playgroud)

makefile os-agnostic os-detection

237
推荐指数
10
解决办法
15万
查看次数

摩卡需要制作.找不到适用于Windows的make.exe

Mocha(Node.js的测试框架)使用make.

对于我的生活,我找不到兼容的make.exe for Windows.

我的Mac上一切正常.

我尝试过使用VS的nmake.exe和我发现的从Unix移植的make.exe.但它们都是不相容的.

它不仅仅是我

这是makefile:

test:
    @./node_modules/.bin/mocha -u tdd -R spec

.PHONY: test
Run Code Online (Sandbox Code Playgroud)

制作barfs.在PHONY中,即使我删除它,它也从不运行mocha命令(或者至少没有输出).

./node_modules/.bin/mocha -u -tdd -R spec直接跑步给我测试报告:

first suite -
  ? ten should always be equal to 9+1
  ? zero is less all positive numbers
  ? There is no i in team

 ? 3 tests complete (8ms)
Run Code Online (Sandbox Code Playgroud)

编辑3/25/12

  • 最后,处理此问题的最简单方法是使用Cygwin并确保安装了Cygwin的开发人员包.在PowerShell中,我做了Set-Alias make "c:\dev\utils\cygwin\bin\make.exe",现在make test使用标准的Mocha Makefile.

windows mocha.js node.js

13
推荐指数
2
解决办法
7088
查看次数

判断 make 是在 windows 还是 linux 上运行

有没有办法在 makefile 中知道 GNU make 是在 linux 操作系统还是 windows 操作系统上运行?

我已经构建了一个 bash 脚本,它生成一个用于构建我的应用程序的 makefile,它在我的 Debian 机器上运行良好。我想尝试在 MinGW/MSYS 上构建它,但问题是我必须构建和运行一些测试程序来检查源代码中的错误,而要在 Windows 上运行它,我必须添加 .exe 后缀。

makefile gnu-make os-agnostic os-detection

7
推荐指数
2
解决办法
1万
查看次数