为什么我的make进程在包含规则时与手动内联时显示不同的行为

时间:2011-04-26 20:40:38

标签: makefile

我有一个Makefile,其中包含以下两行:

yank:
    mkdir yank

当它们在Makefile中时,整个make进程运行。但是当我将它们移动到这个Makefile包含的文件时,只有目标'yank'而不是最终目标。

整个makefile如下

include ../../Makefile.include


#VER  :=
AUTHOR := metaperl
PKG  := shell-current-directory
REPO := $(PKG)
GEST := $(PKG).elc
URL  := https://github.com/$(AUTHOR)/$(PKG).git

$(EDAN_EL) : $(WARES)/$(GEST)
    $(APPEND_EDAN) $(PKG) $(EDAN_EL) "`$(FILLIN) init.el --load_path $(WARES) --pkg $(PKG)`"

$(WARES)/$(GEST): yank/$(REPO)/$(PKG).elc
    cp $< $@


yank/$(REPO)/$(PKG).elc: yank/$(REPO)/$(PKG).el

yank/$(REPO)/$(PKG).el: yank/$(REPO)

yank/$(REPO) : yank
    cd yank && git clone $(URL)

yank:
    mkdir yank


$(phony clean):
    $(RM) -rf $(WARES)/gist.el

1 个答案:

答案 0 :(得分:3)

只需键入

即可运行的目标
make

是makefile中的第一个目标。因此,如果您的包含文件中有目标,那么它将被选为“默认”目标。

只需添加“虚拟”

all: your_default_target_here

之前的文件开头包含或其他相关内容。