Makefile问题

时间:2010-10-19 12:25:00

标签: c makefile

使用命令“make apps”,我想生成两个可执行文件:main_test.exe和main_app2.exe。 由于某种原因,生成main_test.exe的命令更加不那么完整 我运行makefile。最后,我最终得到了一个main_app.exe和main_app2.exe文件,但没有 main_test.exe文件生成。任何人都知道为什么在我的makefile中忽略objcopy命令?

# make apps to generate executables

main_app.exe: main.c lib3tests.a
 $(XCC) $(XCFLAGS) main.c $(XLDFLAGS) -o main_app.exe

main_test.exe: main_app.exe
  $/bin/sparc-elf-objcopy --add-section .myelfsection=file.txt --change-section-address .myelfsection=0xcd000000 --set-section-flags .myelfsection=alloc,contents,load,data main_app.exe

main_app2.exe: main.c lib3tests.a
 $(XCC) $(XCFLAGS) main.c $(XLDFLAGS) -o main_app2.exe

apps: main_app2.exe main_test.exe

非常感谢

2 个答案:

答案 0 :(得分:1)

请确保此行中TAB之前有sparc-elf-objcopy个字符(不是空格):

main_test.exe: main_app.exe
    $/bin/sparc-elf-objcopy --add-section .myelfsection=file.txt --change-section-address .myelfsection=0xcd000000 --set-section-flags .myelfsection=alloc,contents,load,data main_app.exe

答案 1 :(得分:1)

您的sparc-elf-objcopy命令似乎缺少输出文件名。

您是否尝试过将makefile简化为无关紧要,没有内联变量或其他扩展?即减少它直到只调用你的一行。

apps: main_app.exe
        sparc-elf-objcopy ... main_app.exe main_test.exe