X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=carlfw%2FCMakeLists.txt;h=70eb23784e5902395d7a3d6bac1abfb44c5f2e80;hp=f1dc23ca471c54bb3954f02613a08a38bd133886;hb=f064ea52ed3ab342b7f2d31ac88239ceac5bc214;hpb=fe6d57701d3ccdce08123b467c43176d20795886 diff --git a/carlfw/CMakeLists.txt b/carlfw/CMakeLists.txt index f1dc23c..70eb237 100644 --- a/carlfw/CMakeLists.txt +++ b/carlfw/CMakeLists.txt @@ -36,14 +36,31 @@ set_target_properties(carl9170.elf PROPERTIES COMPILE_FLAGS " ${CARLFW_CFLAGS_DEF} ${CARLFW_CFLAGS_EXTRA} ${CARLFW_CFLAGS_AGGRESSIVE} ${CARLFW_CFLAGS_WARNING}") set_target_properties(carl9170.elf PROPERTIES LINK_FLAGS "-Tcarl9170.lds") -add_custom_target( - carl9170.fw ALL - ${OBJCOPY} --strip-unneeded -O binary -R .sram -R .eeprom -R .fwdsc carl9170.elf carl9170.fw - DEPENDS carl9170.elf) -add_custom_target( - carl9170.dsc ALL - ${OBJCOPY} --strip-unneeded -O binary -j .fwdsc carl9170.elf carl9170.dsc - DEPENDS carl9170.elf) +add_custom_target(firmware ALL) +add_custom_command( + SOURCE carl9170.elf + COMMAND ${OBJCOPY} + ARGS --strip-unneeded -O binary -R .sram -R .eeprom -R .fwdsc carl9170.elf carl9170.bin + TARGET firmware + OUTPUTS carl9170.bin) + +add_custom_command( + SOURCE carl9170.elf + COMMAND ${OBJCOPY} + ARGS --strip-unneeded -O binary -j .fwdsc carl9170.elf carl9170.dsc + TARGET firmware + OUTPUTS carl9170.dsc) + +add_custom_command( + SOURCE firmware + TARGET firmware + COMMAND cat + ARGS "carl9170.bin" "carl9170.dsc" > "carl9170.fw" + DEPENDS carl9170.elf carl9170.bin carl9170.dsc + OUTPUTS carl9170.fw) + +SET_DIRECTORY_PROPERTIES( + PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "carl9170.fw")