carl9170 firmware: checkpatch/style fixes
[carl9170fw.git] / carlfw / CMakeLists.txt
index f1dc23ca471c54bb3954f02613a08a38bd133886..1c9f0c8eb3595c2c6263be2edff948f51b3f68cd 100644 (file)
@@ -9,7 +9,7 @@ set(CARLFW_CFLAGS_WARNING "-W -Wall -Wextra -Wunreachable-code -Winline -Wlogica
 set(CARLFW_CFLAGS_EXTRA "-mbitops -std=gnu99 -ffunction-sections -Wframe-larger-than=128 -Werror")
 set(CARLFW_CFLAGS_DEF "-D__CARL9170FW__")
 if (CONFIG_CARL9170FW_AGGRESSIVE_CFLAGS)
-       set(CARLFW_CFLAGS_AGGRESSIVE "-fomit-frame-pointer -fsee -frename-registers -ftree-vectorize")
+       set(CARLFW_CFLAGS_AGGRESSIVE "-fomit-frame-pointer -fsee -frename-registers -ftree-vectorize -flto -fstrict-volatile-bitfields -fmodulo-sched")
 endif (CONFIG_CARL9170FW_AGGRESSIVE_CFLAGS)
 
 include_directories (../include/linux ../include/shared ../include include)
@@ -18,7 +18,7 @@ set(carl9170_main_src src/main.c src/wlan.c src/fw.c src/gpio.c
                      src/cmd.c src/uart.c src/dma.c src/hostif.c src/reboot.S
                      src/printf.c src/rf.c src/cam.c)
 
-set(carl9170_lib_src src/ashlsi3.S src/memcpy.S src/memset.S)
+set(carl9170_lib_src src/ashlsi3.S src/memcpy.S src/memset.S src/udivsi3_i4i-Os.S)
 set(carl9170_usb_src usb/main.c usb/usb.c usb/fifo.c)
 
 set(carl9170_src ${carl9170_main_src} ${carl9170_lib_src} ${carl9170_usb_src})
@@ -27,6 +27,7 @@ set_source_files_properties(src/ashlsi3.S PROPERTIES LANGUAGE C)
 set_source_files_properties(src/memcpy.S PROPERTIES LANGUAGE C)
 set_source_files_properties(src/memset.S PROPERTIES LANGUAGE C)
 set_source_files_properties(src/reboot.S PROPERTIES LANGUAGE C)
+set_source_files_properties(src/udivsi3_i4i-Os.S PROPERTIES LANGUAGE C)
 
 add_executable(carl9170.elf ${carl9170_src})
 
@@ -36,14 +37,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")