Battery blinks if >BATTERY_LEVEL_DANGEROUS
[kugel-rb.git] / firmware / Makefile
blob69a27a1b408fd37ff6154d02e96d7ab930ebbf8e
1 # __________ __ ___.
2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 # \/ \/ \/ \/ \/
7 # $Id$
10 CC = sh-elf-gcc
11 LD = sh-elf-ld
12 AR = sh-elf-ar
13 AS = sh-elf-as
14 OC = sh-elf-objcopy
16 INCLUDES=-Iinclude -I. -Icommon -Idrivers
18 # Pick a target to build for
19 TARGET = -DARCHOS_PLAYER=1
20 #TARGET = -DARCHOS_PLAYER_OLD=1
21 #TARGET = -DARCHOS_RECORDER=1
23 # store output files in this directory:
24 OBJDIR = .
26 CFLAGS = -W -Wall -O -m1 -nostdlib -Wstrict-prototypes $(INCLUDES) $(TARGET)
28 ifdef DEBUG
29 CFLAGS += -g -DDEBUG
30 else
31 CFLAGS += -fomit-frame-pointer -fschedule-insns
32 endif
34 SRC := $(wildcard drivers/*.c common/*.c malloc/*.c *.c)
36 OBJS := $(SRC:%.c=$(OBJDIR)/%.o) $(OBJDIR)/crt0.o
37 DEPS:=.deps
38 DEPDIRS:=$(DEPS) $(DEPS)/drivers $(DEPS)/common $(DEPS)/malloc
40 OUTPUT = $(OBJDIR)/librockbox.a
42 $(OUTPUT): $(OBJS)
43 $(AR) ruv $@ $+
45 $(OBJDIR)/%.o: %.c
46 @mkdir -p `dirname $@`
47 $(CC) $(CFLAGS) -c $< -o $@
49 $(OBJDIR)/%.o: %.S
50 @mkdir -p `dirname $@`
51 $(CC) $(CFLAGS) -c $< -o $@
53 clean:
54 rm -f $(OBJS) $(OUTPUT)
55 rm -rf $(OBJDIR)/$(DEPS)
57 # Special targets
58 $(OBJDIR)/thread.o: thread.c thread.h
59 $(CC) -c -O -fomit-frame-pointer $(CFLAGS) $< -o $@
61 $(OBJDIR)/$(DEPS)/%.d: %.c
62 @$(SHELL) -c 'for d in $(DEPDIRS); do { if [ ! -d $(OBJDIR)/$$d ]; then mkdir $(OBJDIR)/$$d; fi; }; done'
63 @echo "Updating dependencies for $<"
64 @$(SHELL) -ec '$(CC) -MM $(CFLAGS) $< \
65 |sed '\''s|\($*\)\.o[ :]*|$(OBJDIR)/\1.o $(<:%.c=%.d) : |g'\'' > $@; \
66 [ -s $@ ] || rm -f $@'
68 -include $(SRC:%.c=$(OBJDIR)/$(DEPS)/%.d)