大家好,我在linux上有一个非常大的makefile,我正在减少它。对于这样的任务,我试图减少变量声明部分(小例子如下)
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Storage Update</title>
<script type="application/ecmascript">
function Update() {
var d = new Date(Date.now());
localStorage.setItem("StorageUpdateTest", d);
output.innerHTML = d.toLocaleTimeString();
}
</script>
</head>
<body>
<h1>Storage Update</h1>
<form method="post">
<p id="output"></p>
<input name="ButtonUpdate" type="button" value="Update" onclick="Update();">
</form>
</body>
</html>
尝试按以下方式执行某些操作,
DIRHEA := include/
DIRHEA_MANAGERS := $(DIRHEA)managers/
DIRHEA_ENTITIES := $(DIRHEA)entities/
CXXFLAGS := -I$(DIRHEA_MANAGERS) -I$(DIRHEA_ENTITIES)
哪个没用。有人可以建议我这样做吗?
答案 0 :(得分:1)
for
循环是 shell 语法,而不是Makefile。您需要使用shell的语法(POSIX兼容shell中的foo="${foo} bar"
)来连接字符串。
答案 1 :(得分:1)
首先获取目录列表:
SUBDIRS := $(shell ls -p $(DIRHEA) | grep /)
然后
CXXFLAGS := $(addprefix -I(DIRHEA), $(SUBDIRS))