我面临着一个相当奇怪的问题。我的制作文件包含:
all: item1 item2
item1: dep1 dep2
dep1:
@echo
cd $(HOME)/apps; /bin/rm -f $(D_ALL_OBJECTS)
cd $(SRCHOME)/fusionapps; make -k -f $(SOMEMAKEFILE) $(D_ALL_OBJECTS)
@echo
dep2:
@echo
cd $(HOME)/apps; /bin/rm -f $(D2_ALL_OBJECTS)
cd $(SRCHOME)/fusionapps; make -k -f $(SOMEMAKEFILE) $(D2_ALL_OBJECTS)
@echo
item2: ...
.....
现在," make -f Makefile item1
" 有效,但是当我尝试 " make -f Makefile all
" 时它不起作用。你们看到我的makefile有什么问题吗?
谢谢
附录:
好吧,看起来 make 不允许与当前级别中的某个目录具有相同名称的目标。观察:
- “all”是一个目录@$(HOME)/apps
all1: item1 item2
作品all: item1 item2
不工作
因此,任何与目录具有相同名称的目标名称似乎都失败了(例如,没有做任何有用的事情)。
我很确定我在这里做了一些荒谬的错误。