2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
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:
26 CFLAGS
= -W
-Wall
-O
-m1
-nostdlib
-Wstrict-prototypes
$(INCLUDES
) $(TARGET
)
31 CFLAGS
+= -fomit-frame-pointer
-fschedule-insns
34 SRC
:= $(wildcard drivers
/*.c common
/*.c malloc
/*.c
*.c
)
36 OBJS
:= $(SRC
:%.c
=$(OBJDIR
)/%.o
) $(OBJDIR
)/crt0.o
38 DEPDIRS
:=$(DEPS
) $(DEPS
)/drivers
$(DEPS
)/common
$(DEPS
)/malloc
40 OUTPUT
= $(OBJDIR
)/librockbox.a
46 @mkdir
-p
`dirname $@`
47 $(CC
) $(CFLAGS
) -c
$< -o
$@
50 @mkdir
-p
`dirname $@`
51 $(CC
) $(CFLAGS
) -c
$< -o
$@
54 rm -f
$(OBJS
) $(OUTPUT
)
55 rm -rf
$(OBJDIR
)/$(DEPS
)
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
)