在 Unix 中,我可以make
在一个目录中运行而无需cd
先进入该目录吗?
问问题
80587 次
5 回答
381
make -C /path/to/dir
于 2009-01-17T15:33:52.877 回答
104
如其他答案所述, make(1) 有一个-C
选项;几个命令具有相似的选项(例如 tar)。值得注意的是,对于缺少此类选项的其他命令,可以使用以下命令:
(cd /dir/path && command-to-run)
这将在子 shell 中运行命令,该子 shell 首先更改了其工作目录(同时保留父 shell 的工作目录)。这里&&
用于代替;
捕获无法更改目录的错误情况。
于 2009-01-17T15:44:49.377 回答
23
如果您不想 cd 到某个目录的原因是因为您需要留在当前目录中以执行以后的任务,则可以使用 pushd 和 popd:
pushd ProjectDir ; make ; popd
它进入 ProjectDir,运行 make,然后回到你原来的位置。
于 2009-01-19T05:25:56.233 回答
11
您也可以使用:
make --directory /path/to/dir
于 2016-09-15T10:24:00.093 回答
-4
生成文件:
all:
gcc -Wall -Wpedantic -std=gnu99 -g src/test.c -o build/test
run:
./build/test
或者
run:
./../build/test
等等
于 2018-09-23T22:56:33.997 回答