由于依赖性,我的makefile执行每次都失败。我不想过分共享,所以我会尝试只分享必要的信息。我正在使用GNUWin32 make,以便我的Windows框可以执行它(我必须处理的约束)并且我能够在src \\ Framework \ ... \\%中编译/生成相当数量的文件。来自.. \\ src \\ Framework \ ... \\%。c。
的领域似乎只要它至少有2个文件夹深,Makefile就可以了。例如:src \\ test.o没有编译,但src \\ tester \\ test.o将编译。
我的错误如下:
制作:***没有规则来制作目标' src \\ control.o',需要' proj.elf'。停止。
但我也有以下规则,它是从目标all的依赖项执行的:
src \\%。o:.. \\ src \\%。c
只要.. \\ src \\%。c存在就应该生成src \\ control.o。
当我使用make -d all
时,我注意到它以
找不到&s; src \\ control.o'。
的隐含规则目标文件的完成先决条件' src \\ control.o'。
必须重新制作目标' src \\ control.o'
如果有人有解决方案来完成这项工作,我会很高兴听到它!
答案 0 :(得分:0)
我发现了问题。显然,即使GNUWin32使用Unix样式文件名作为目标和依赖项,但为了使用mkdir命令,您必须使用Windows样式文件名。
test / windows /%.o:../ test / windows /%.c
mkdir test \ windows \ make_this_dir \
我希望这可以帮助任何有类似问题的人。