Makefile 为什么我的清白目标会被执行?
我有下面的makefile。然而,我注意到中间构建结果正在从T2OUT中删除。这是正常的/预期的行为吗Makefile 为什么我的清白目标会被执行?,makefile,Makefile,我有下面的makefile。然而,我注意到中间构建结果正在从T2OUT中删除。这是正常的/预期的行为吗 BUILDROOT=../../.. T2OUT=$(BUILDROOT)/t2-output/linux64-gcc-production-default TUNDRA2=cd $(BUILDROOT); tundra2 production DOCKER_TAG=services SERVICES=managerservice \ schedulerservice \ p
BUILDROOT=../../..
T2OUT=$(BUILDROOT)/t2-output/linux64-gcc-production-default
TUNDRA2=cd $(BUILDROOT); tundra2 production
DOCKER_TAG=services
SERVICES=managerservice \
schedulerservice \
paymentservice \
userservice \
storageservice \
libModCouchbase.so
all: $(SERVICES)
chmod +x wait_to_start.sh
docker build -t $(DOCKER_TAG) .
docker push $(DOCKER_TAG)
$(T2OUT)/libModCouchbase.so:
$(TUNDRA2) ModCouchbase
$(T2OUT)/%:
$(TUNDRA2) $*
%: $(T2OUT)/%
cp $< $@
clean:
rm -f $(SERVICES)
rm -rf $(T2OUT)
.PHONY: all clean
BUILDROOT=../../。。
T2OUT=$(BUILDROOT)/t2输出/linux64 gcc生产默认值
苔原2=cd$(BUILDROOT);冻土带生产
DOCKER_标签=服务
服务=管理服务\
调度服务\
支付服务\
用户服务\
存储服务\
libModCouchbase.so
全部:$(服务)
chmod+x wait_to_start.sh
docker build-t$(docker_标签)。
docker push$(docker_标签)
$(T2OUT)/libModCouchbase.so:
$(冻土带2)ModCouchbase
$(T2OUT)/%:
$(冻土带2)$*
%:$(T2OUT)/%
cp$<$@
清洁:
rm-f$(服务)
rm-rf$(T2OUT)
.骗子:都是干净的
是。它与您的clean
目标无关。如果有问题,您可以使用.preciouse
符号目标保留中间产物。将.PRECIOUS:foo
规则添加到makefile将防止中间foo
被删除。