makefile - 如何在makefile中阻止“make”命令
问题描述
我写了makefile,它的结构如下
#... Configure basic flags for compiler
.PHONY: mk_mingw
mk_mingw:
# build with mingw(windows)
.PHONY: mk_gcc_linux
mk_gcc_linux:
# build in gcc(linux)
#... some auxiliary unit such as clear, test ...
使用 mingw(windows) 构建时使用以下命令
#command 1
$ make mk_mingw
使用 gcc(Linux) 构建时使用以下命令
#command 2
$ make mk_gcc_linux
我希望以上两个命令在我的项目中是合法的。
mk_gcc_linux 和 mk_mingw 是编译器的环境(我指定)
但以下命令不是:
#command 3
$ make
因为它没有在make命令之后指定编译器的环境。
我想在这种情况(命令 3)发生时报告错误并停止。
如何在我的 makefile 中执行?
解决方案
默认情况下,make
尝试构建第一个目标。所以你可以简单地将它放在你的 Makefile 之上:
.PHONY: first
first:
@echo Environment not specified!
@false
# the rest of file is following...
但对我来说,它看起来不太正确。可能,设置一个变量而不是一个专用目标会更好。
推荐阅读
- flutter - Flutter 主题版本解决失败
- html - 当我向图像添加文本时,位于图像滑块上的导航栏不起作用。我该如何解决?
- javascript - Vue 3 如何在反应对象上使用 watch 或 watchEffect(和 console.log)?
- calendar - 是否有描述日历系统的标准格式?
- r - SparkR:如何在汇总中使用列表
- reactjs - 反应 - useState 不更新
- python - 问题需要线图从第一个数据点开始
- regex - 正则表达式后跟字符时不匹配
- python - 如何使用 Kivy 和 Python 访问课外的数据列表
- ubuntu - Snapcraft 构建失败 cmake 部分步骤