shell - 将make文件作为所有进程运行
问题描述
我已经创建了这个简单的makefile,我想运行所有的进程witnmake
虽然它只运行第一部分module1
而不运行,但module2
我在这里缺少什么?
.PHONY: module1
module1:
@echo "run module 1"
DIR=$(PWD)
@echo $(DIR)
.PHONY: module2
module2:
@echo "run module2"
如果我运行make module2
module2 成功执行,但我希望所有都在make
命令中运行,并且据我在网上阅读,这是它应该如何工作的,这里有什么问题?
解决方案
从文档...
默认情况下,目标是 makefile 中的第一个目标(不包括以句点开头的目标)。因此,通常编写 makefile 以使第一个目标是编译它们描述的整个程序或程序。如果 makefile 中的第一个规则有多个目标,则只有规则中的第一个目标成为默认目标,而不是整个列表。您可以使用 .DEFAULT_GOAL 变量从您的 makefile 中管理默认目标的选择(请参阅其他特殊变量)。
所以你只需要提供一个合适的默认目标——all
是“传统的”...
all: module1 module2
所以完整的makefile
将是...
all: module1 module2
.PHONY: module1
module1:
@echo "run module 1"
DIR=$(PWD)
@echo $(DIR)
.PHONY: module2
module2:
@echo "run module2"
推荐阅读
- github - 在存储库目录中显示 README.md
- d3.js - D3 折线图中的多条线(汇总数据)
- java - 如何使用 Groovy + Spock 使用嵌套映射器测试 mapstruct 映射器
- python - “AttributeError:'str'对象没有属性'id'”discord.py上的错误
- angular - 在启用 Ivy 的情况下更新到 Angular 9 时,NGXS 不起作用
- macos - 在 SwiftUI 中,如何通过动态变化的滚动区域来缩放 scrollView 内的内容?
- javascript - 在调用的方法上渲染组件模板
- python - Python Elasticsearch:BulkIndexError:'not_x_content_exception',同时尝试使用 helpers.bulk
- java - 如何使用xml配置为非spring boot java应用程序设置redis缓存前缀键
- arrays - 在 C 中检查数组中的数字