X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Bootloader%2FCMakeLists.txt;h=41c2bccb1ffcc790cffc0125a1b01e0d8ffcf091;hb=b9fa9c8672a4d1fd89c0c11a358536dfe3ec28a1;hp=b8cb8a013195821a6887c986480c755d68544c11;hpb=41025125796f2f167d7f2a8c82aac712da1aa1b1;p=kiibohd-controller.git diff --git a/Bootloader/CMakeLists.txt b/Bootloader/CMakeLists.txt index b8cb8a0..41c2bcc 100644 --- a/Bootloader/CMakeLists.txt +++ b/Bootloader/CMakeLists.txt @@ -20,10 +20,26 @@ #| You _MUST_ clean the build directory if you change this value #| set( CHIP - "mk20dx128vlf5" # McHCK mk20dx128vlf5 + #"mk20dx128vlf5" # McHCK mk20dx128vlf5 + "mk20dx256vlh7" # Kiibohd-dfu mk20dx256vlh7 ) + +### +# Compiler Selection +# + +#| *** EXPERIMENTAL *** +#| Stick with gcc unless you know what you're doing +#| Currently only arm is supported with clang +set( COMPILER + "gcc" # arm-none-eabi-gcc / avr-gcc - Default +# "clang" # arm-none-eabi + CACHE STRING "Compiler Type" ) + + + ### # Bootloader Configuration # @@ -51,6 +67,14 @@ set( SRCS usb.c ) +# Only compile in if necessary +if( CHIP STREQUAL "mk20dx256vlh7" ) + set( SRCS ${SRCS} + debug.c + ) +endif() + + message( STATUS "Bootloader Source Files:" ) message( "${SRCS}" ) @@ -112,6 +136,19 @@ endif() +### +# Disable -Wl,-search_paths_first for OSX (not supported by arm-none-eabi-gcc) +# + +if ( APPLE ) + string ( REPLACE "-Wl,-search_paths_first" "" CMAKE_C_LINK_FLAGS ${CMAKE_C_LINK_FLAGS} ) + string ( REPLACE "-Wl,-search_paths_first" "" CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ) + + message ( AUTHOR_WARNING "Bootloader binary may not fit on device (must be less than 4096 bytes). Macports arm-none-eabi-gcc 4.7.3 doesn't seem to work properly with -flto. However, even disabling it doesn't shrink the binary enough... 4.9.1 is known to work on Arch Linux." ) +endif () + + + ### # Build Targets #