【发布时间】:2012-08-10 09:27:47
【问题描述】:
我从 github 克隆了 libzip,现在想要进行 make,但它给出了错误 ***No rule to make target '/Makefile.common' Stop。克隆的文件夹(libzip)有 3 个文件(libzip.spec、sources、Makefile)。这是 Makefile,可能是什么问题。
# This makefile is downloading any file found in
# the 'sources' file already existing in this directory
# and validating the sha256sum of the archive against it.
NAME := libzip
define find-common-dir
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then echo "$$d"; break ; fi ; done
endef
COMMON_DIR := $(shell $(find-common-dir))
include $(COMMON_DIR)/Makefile.common
SOURCEFILES := $(shell cat sources 2>/dev/null | awk '{ print $$2 }' | awk -F'*' '{ print $$2 }')
sources: $(SOURCEFILES)
$(SOURCEFILES):
@for sourcefile in $(SOURCEFILES); do \
$(CLIENT) $(LOOKASIDE_URI)/$(NAME)/$${sourcefile}; \
done
sha256sum -c sources || ( echo 'SHA256 check failed' && rm $(SOURCEFILES); exit 1 )
clean:
rm $(SOURCEFILES)
【问题讨论】:
-
这个makefile正在寻找
Makefile.common(在.、../common/和../../common/中)但没有找到它。它没有建立Makefile.common的规则,它只是希望在某个地方找到它。 -
你克隆的 libzip 的链接是什么?我试过这个:github.com/JanX2/libzip-git,但它看起来和你描述的不一样,而且效果很好。