aboutsummaryrefslogtreecommitdiffstats
path: root/Maintenance
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-05-27 16:30:40 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-05-27 16:30:40 +0000
commit4a09e4b2eede83a4197c4b2d12b793f30450e495 (patch)
tree9819f99c708dffa5b5388f9853b922aa92f3ccf6 /Maintenance
parentb5e850ffd6d31afc159fec9cb37ad36d79100166 (diff)
downloadlufa-4a09e4b2eede83a4197c4b2d12b793f30450e495.tar.gz
lufa-4a09e4b2eede83a4197c4b2d12b793f30450e495.tar.bz2
lufa-4a09e4b2eede83a4197c4b2d12b793f30450e495.zip
Add maintenance script to automatically generate legacy AS4 project files.
Diffstat (limited to 'Maintenance')
-rw-r--r--Maintenance/AS4Template.aps1
-rw-r--r--Maintenance/makefile36
2 files changed, 37 insertions, 0 deletions
diff --git a/Maintenance/AS4Template.aps b/Maintenance/AS4Template.aps
new file mode 100644
index 000000000..414a0d5f8
--- /dev/null
+++ b/Maintenance/AS4Template.aps
@@ -0,0 +1 @@
+<AVRStudio><MANAGEMENT><ProjectName>%TARGET%</ProjectName><Created>%CREATED%</Created><LastEdit>%CREATED%</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>%CREATED%</Created><Version>4</Version><Build>4, 18, 0, 685</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>%TARGET%.elf</ObjectFile><EntryFile></EntryFile></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET></CURRENT_TARGET><CURRENT_PART></CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM></COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES>%FILE_LIST%</FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>makefile</EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>BootloaderCDC.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR-20100110\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files>%GCC_FILE_LIST%</Files></ProjectFiles><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="0" ordergroup="0"/></IOView><Files></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
diff --git a/Maintenance/makefile b/Maintenance/makefile
index db06616c7..84e4a703f 100644
--- a/Maintenance/makefile
+++ b/Maintenance/makefile
@@ -26,6 +26,42 @@ upgrade-doxygen:
done;
@echo Doxygen configuration update complete.
+# Generate AVR Studio 4 project files for each project from a template
+make-as4-projects:
+ @echo Creating AVR Studio 4 project files for Demos...
+ @for project_makefile in `find $(LUFA_ROOT)/Demos $(LUFA_ROOT)/Projects $(LUFA_ROOT)/Bootloaders -name makefile*`; do \
+ target_name=`grep "TARGET *=" $$project_makefile | cut -d'=' -f2 | sed 's/ //g'`; \
+ target_folder=`dirname $$project_makefile`; \
+ as4_date=`date "+%e-%b-%Y %H:%M:%S"`; \
+ \
+ if ( test -n "$$target_name" ); then \
+ echo Creating AS4 project for project $$target_name; \
+ \
+ source_files="<OTHERFILE>`basename $$project_makefile`<\/OTHERFILE>"; \
+ gcc_source_files=""; \
+ for c_source_file in `find $$target_folder -name *.c`; do \
+ source_files+="<SOURCEFILE>`basename $$c_source_file`<\/SOURCEFILE>"; \
+ gcc_source_files+="<Name>`basename $$c_source_file`<\/Name>"; \
+ done; \
+ for c_header_file in `find $$target_folder -name *.h`; do \
+ source_files+="<HEADERFILE>`basename $$c_header_file`<\/HEADERFILE>"; \
+ gcc_source_files+="<Name>`basename $$c_header_file`<\/Name>"; \
+ done; \
+ for assembly_file in `find $$target_folder -name *.S`; do \
+ source_files+="<OTHERFILE>`basename $$assembly_file`<\/OTHERFILE>"; \
+ gcc_source_files+="<Name>`basename $$assembly_file`<\/Name>"; \
+ done; \
+ \
+ sed "s/%TARGET%/$$target_name/g" AS4Template.aps > $$target_folder/$$target_name.aps.new; \
+ sed "s/%CREATED%/$$as4_date/g" $$target_folder/$$target_name.aps.new > $$target_folder/$$target_name.aps.new2; \
+ sed "s/%FILE_LIST%/$$source_files/g" $$target_folder/$$target_name.aps.new2 > $$target_folder/$$target_name.aps.new3; \
+ sed "s/%GCC_FILE_LIST%/$$gcc_source_files/g" $$target_folder/$$target_name.aps.new3 > $$target_folder/$$target_name.aps.new4; \
+ mv $$target_folder/$$target_name.aps.new4 $$target_folder/$$target_name.aps; \
+ rm $$target_folder/$$target_name.aps.new $$target_folder/$$target_name.aps.new2 $$target_folder/$$target_name.aps.new3; \
+ fi; \
+ done;
+ @echo AVR Studio 4 project generation complete.
+
# Check the working branch documentation, ensure no placeholder values
check-documentation-placeholders:
@echo Checking for release suitability...