【发布时间】:2009-08-18 13:38:02
【问题描述】:
我有一个目标为 clean 的 makefile:
clean:
$(MAKE) -f <other makefile location> clean
当我在这个 makefile 中调用 make clean 时,它告诉我在另一个 makefile 中没有规则 'clean-linux'。具体来说这里是输出。
make -f /root/ovaldi-5.5.25-src/project/linux/Makefile clean
make[1]: Entering directory '/root/ovaldi-5.5.25-src'
make[2]: Entering directory '/root/ovaldi-5.5.25-src'
make[2]: *** No rule to make target 'clean-linux'. Stop.
make[2]: Leaving directory '/root/ovaldi-5.5.25-src'
make[1]: Leaving directory '/root/ovaldi-5.5.25-src'
为什么它给它 clean-linux 目标,而不是像我指定的那样干净?
【问题讨论】:
-
clean : @if [ $(PLATFORM) = LINUX ];然后 \ make clean-linux; \fi; \ 如果 [ $(平台) = SUNOS ];然后\制作干净的sunos; \fi; clean-linux: -rm -rf $(OUTDIR) clean-sunos: -rm -rf $(OUTDIR) 它确实调用了 clean-linux 但已经指定了。
标签: makefile