首页 > 解决方案 > 将变量从一个 makefile 传递到另一个

问题描述

假设我有一个这样的makefile:

build:
    # output will be something like dist/foo-1.2.3-py3-none-any.whl
    poetry build

upload: build
    aws s3 cp ${WHEEL_NAME} s3://some-bucket/

轮子的名称显然一直在变化,因此需要在结尾处记录build并在upload. 实现这一点的正确方法是什么?

标签: makefile

解决方案


这是一种简单的方法。而不是dist/,使用一个目录,其唯一目的是包含最新的轮子:

WHEELDIR := latest-wheel

build:
    @rm -fr $(WHEELDIR)
    @mkdir $(WHEELDIR)
    # output will be something like $(WHEELDIR)/foo-1.2.3-py3-none-any.whl
    # I don't know what "poetry build" does

upload: build
    aws s3 cp $(WHEELDIR)/* s3://some-bucket/

如果您愿意,您可以添加一两行来将轮子的副本存储在dist/或其他存档中。


推荐阅读