Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 1198 → Rev 1199

/C-OSD/C-Epilepsy/default/Makefile
0,0 → 1,114
###############################################################################
# Makefile for the project C-Epilepsy
###############################################################################
 
## General Flags
PROJECT = C-Epilepsy
ifndef MCU
MCU = atmega644p
endif
 
TARGET = C-Epilepsy.elf
CC = avr-gcc
 
CPP = avr-g++
 
## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU) -DMCU=$(MCU)
#COMMON =
 
## Compile options common for all C compilation units.
CFLAGS += $(COMMON)
CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=20000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
 
## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += $(CFLAGS)
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
 
## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS += -Wl,-Map=C-Epilepsy.map
 
 
## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom -R .fuse -R .lock -R .signature
 
HEX_EEPROM_FLAGS = -j .eeprom
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings
 
 
## Objects that must be built in order to link
OBJECTS = main.o usart0.o usart1.o timer0.o timer1.o led_out.o player.o epi_helpers.o nc_handler.o buttons.o eeprom.o integer_math.o
 
## Objects explicitly added by the user
LINKONLYOBJECTS =
 
## Build
all: $(TARGET) C-Epilepsy.hex C-Epilepsy.eep C-Epilepsy.lss size
 
## Compile
main.o: ../main.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
usart0.o: ../usart0.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
usart1.o: ../usart1.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
timer0.o: ../timer0.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
timer1.o: ../timer1.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
led_out.o: ../led_out.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
player.o: ../player.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
epi_helpers.o: ../epi_helpers.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
nc_handler.o: ../nc_handler.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
buttons.o: ../buttons.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
eeprom.o: ../eeprom.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
integer_math.o: ../integer_math.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
 
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
 
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
 
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
 
size: ${TARGET}
@echo
@avr-size -C --mcu=${MCU} ${TARGET}
 
## Clean target
.PHONY: clean
clean:
-rm -rf $(OBJECTS) C-Epilepsy.elf dep/* C-Epilepsy.hex C-Epilepsy.eep C-Epilepsy.lss C-Epilepsy.map
 
 
## Other dependencies
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
 
/C-OSD/C-Epilepsy/default/dist.bat
0,0 → 1,62
@echo off
:: /****************************************************************************
:: * Copyright (C) 2011 by Claas Anders "CaScAdE" Rathje *
:: * admiralcascade@gmail.com *
:: * Project-URL: http://www.mylifesucks.de/oss/c-epilepsy/ *
:: * *
:: * This program is free software; you can redistribute it and/or modify *
:: * it under the terms of the GNU General Public License as published by *
:: * the Free Software Foundation; either version 2 of the License. *
:: * *
:: * This program is distributed in the hope that it will be useful, *
:: * but WITHOUT ANY WARRANTY; without even the implied warranty of *
:: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
:: * GNU General Public License for more details. *
:: * *
:: * You should have received a copy of the GNU General Public License *
:: * along with this program; if not, write to the *
:: * Free Software Foundation, Inc., *
:: * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
:: ****************************************************************************/
 
set DATE=20110830-1050
::set DATE=DEVEL
 
:: date /T
 
:: clean up first
del *.hex
 
FOR %%C IN (atmega644 atmega644p) DO (
FOR %%H IN (EPI10AQ41 EPI10 EPI11) DO (
echo Building Hex file for: %%C on %%H
set CFLAGS=-DBUILDDATE=\"%DATE%\" -DHWVERSION=%%H
set MCU=%%C
make clean
make
move C-Epilepsy.hex C-Epilepsy-%DATE%-%%C-%%H.hex
)
)
 
:: clean up
make clean
 
:: show stats f.e. http://etree.org/cgi-bin/counter.cgi/software/md5sum.exe
md5sum *.hex
::dir /A *.hex
 
:: pack all stuff
mkdir C-Epilepsy-%DATE%
move *.hex C-Epilepsy-%DATE%
copy ..\CHANGE.LOG C-Epilepsy-%DATE%
copy ..\LICENSE.TXT C-Epilepsy-%DATE%
copy ..\README.TXT C-Epilepsy-%DATE%
:: 7zip command line version from http://www.7-zip.org
7za a -tzip C-Epilepsy-%DATE%.zip C-Epilepsy-%DATE%
 
rmdir /S /Q C-Epilepsy-%DATE%
 
dir /A C-Epilepsy-%DATE%.zip
 
::echo "building based on revision $REVISION is now DONE..."