changeset 20:0bd94a5cac31

Finished major changes on the CMakeLists.txt.
author Jacob Alexander <triplehaata@gmail.com>
date Wed, 28 Sep 2011 20:37:19 -0700
parents 31f559255b1b
children c14f9ac8420f
files CMakeLists.txt
diffstat 1 files changed, 31 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Wed Sep 28 01:47:50 2011 -0700
+++ b/CMakeLists.txt	Wed Sep 28 20:37:19 2011 -0700
@@ -7,32 +7,31 @@
 #
 ###
 
-##| TODO List |##
-# - Add avr-gcc as requirement
-# - Add avr-objcopy as a requirement
-# - Generate .lst files
-# - Extend .lst to .lss
-# - Autoloader to Teensy
-# - specify on commandline which atmel mcu
-
-#| Set the Compilers
+#| Set the Compilers (must be set first)
 include( CMakeForceCompiler )
 set( CMAKE_SYSTEM_NAME Generic )
 cmake_force_c_compiler  ( avr-gcc AVRCCompiler )
 cmake_force_cxx_compiler( avr-g++ AVRCxxCompiler )
 
 
+###
+# Project Description
+#
+
 #| Project
 project( kiibohd_controller )
 
+#| Target Name (output name)
+set( TARGET kiibohd )
 
 #| General Settings
 cmake_minimum_required( VERSION 2.8 )
 
 
 
-
-
+###
+# Source Defines
+#
 
 #| Sources 
 set( SRCS
@@ -42,13 +41,21 @@
 	./scan_loop.c
 )
 
-#| Target Name
-set( TARGET kiibohd )
 
 
-
+###
+# Atmel Defines and Linker Options
+#
 
-
+#| MCU Name
+#| You _MUST_ set this to match the board you are using
+#| type "make clean" after changing this, so all files will be rebuilt
+#|
+#| "at90usb162"       # Teensy   1.0
+#| "atmega32u4"       # Teensy   2.0
+#| "at90usb646"       # Teensy++ 1.0
+#| "at90usb1286"      # Teensy++ 2.0
+set( MCU "at90usb1286" )
 
 
 #| Compiler flag to set the C Standard level.
@@ -80,24 +87,12 @@
 set( FORMAT "ihex" )
 
 
-#| MCU Name
-#| You MUST set this to match the board you are using
-#| type "make clean" after changing this, so all files will be rebuilt
-#|
-#| "at90usb162"       # Teensy   1.0
-#| "atmega32u4"       # Teensy   2.0
-#| "at90usb646"       # Teensy++ 1.0
-#| "at90usb1286"      # Teensy++ 2.0
-set( MCU "at90usb1286" )
-
-
 #| Processor frequency.
 #|   Normally the first thing your program should do is set the clock prescaler,
 #|   so your program will run at the correct speed.  You should also set this
 #|   variable to same clock speed.  The _delay_ms() macro uses this, and many
 #|   examples use this variable to calculate timings.  Do not add a "UL" here.
 set( F_CPU "16000000" )
-set( CDEFS "-DF_CPU=${F_CPU}" )
 
 
 #| Dependency Files
@@ -110,7 +105,7 @@
 
 
 #| Compiler Flags
-add_definitions( "-mmcu=${MCU} -DF_CPU=${F_CPU} -O${OPT} ${TUNING} ${WARN} -Wa,-adhlns ${CSTANDARD} ${GENDEPFLAGS}" )
+add_definitions( "-mmcu=${MCU} -DF_CPU=${F_CPU} -O${OPT} ${TUNING} ${WARN} ${CSTANDARD} ${GENDEPFLAGS}" )
 
 
 #| Linker Flags
@@ -130,11 +125,9 @@
 
 
 
-
-
-
-
-
+###
+# Build Targets
+#
 
 #| Create the .ELF file
 set( TARGET_ELF ${TARGET}.elf )
@@ -163,10 +156,10 @@
 )
 
 
-#| Generate the Extended .LSS TODO Incomplete
+#| Generate the Extended .LSS
 set( TARGET_LSS ${TARGET}.lss )
 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD
-	COMMAND avr-objcopy ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
+	COMMAND avr-objdump ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS}
 	COMMENT "Creating Extended Listing:     ${TARGET_LSS}"
 )
 
@@ -180,15 +173,9 @@
 
 
 
-
-
-
-#| Before Changes Size Information (and make sure it is run before ${TARGET_ELF} is generated) TODO Only call if the files exist
-#add_dependencies( ${TARGET_ELF} SizeBefore )
-#add_custom_target( SizeBefore ALL avr-size --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
-#	COMMENT "Size before generation:"
-#)
-
+###
+# Size Information
+#
 
 #| After Changes Size Information
 add_custom_target( SizeAfter ALL avr-size --target=${FORMAT} ${TARGET_HEX} ${TARGET_ELF}
@@ -196,4 +183,3 @@
 	COMMENT "Size after generation:"
 )
 
-