2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 # $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
10 ZXBOX_SRCDIR
= $(APPSDIR
)/plugins
/zxbox
11 ZXBOX_OBJDIR
= $(BUILDDIR
)/apps
/plugins
/zxbox
13 ZXBOX_SRC
:= $(call preprocess
, $(ZXBOX_SRCDIR
)/SOURCES
)
14 ZXBOX_OBJ
:= $(call c2obj
, $(ZXBOX_SRC
))
16 OTHER_SRC
+= $(ZXBOX_SRC
)
19 ifneq (,$(strip $(foreach tgt
,RECORDER ONDIO
,$(findstring $(tgt
),$(TARGET
)))))
20 ## archos recorder targets
21 ZXBOX_INLDS
:= $(ZXBOX_SRCDIR
)/archos.lds
22 ROCKS
+= $(ZXBOX_OBJDIR
)/zxbox.ovl
25 ZXBOX_INLDS
:= $(APPSDIR
)/plugins
/plugin.lds
26 ROCKS
+= $(ZXBOX_OBJDIR
)/zxbox.rock
30 ROCKS
+= $(ZXBOX_OBJDIR
)/zxbox.rock
33 ZXBOXFLAGS
= $(filter-out -O
%,$(PLUGINFLAGS
)) -O3
-funroll-loops
36 ZXBOX_LDFLAGS
= $(SHARED_FLAG
) # <-- from Makefile
38 ZXBOX_OUTLDS
= $(ZXBOX_OBJDIR
)/zxbox.lds
39 ZXBOX_LDFLAGS
= -T
$(ZXBOX_OUTLDS
) -Wl
,--gc-sections
-Wl
,-Map
,$(basename $@
).map
42 $(ZXBOX_OUTLDS
): $(ZXBOX_INLDS
) $(ZXBOX_OBJ
)
43 $(call PRINTS
,PP
$(<F
))$(call preprocess2file
,$<,$@
)
45 $(ZXBOX_OBJDIR
)/zxbox.rock
: $(ZXBOX_OBJ
) $(ZXBOX_OUTLDS
) $(PLUGINBITMAPLIB
)
47 $(ZXBOX_OBJDIR
)/zxbox.ovl
: $(ZXBOX_OBJ
) $(ZXBOX_OUTLDS
) $(PLUGINBITMAPLIB
) $(PLUGINLIB
)
48 $(SILENT
)$(CC
) $(PLUGINFLAGS
) -o
$(basename $@
).elf \
51 -lgcc
$(ZXBOX_LDFLAGS
)
52 $(call PRINTS
,LD
$(@F
))$(OC
) -O binary
$(basename $@
).elf
$@
54 # special pattern rule for compiling zxbox with extra flags
55 $(ZXBOX_OBJDIR
)/%.o
: $(ZXBOX_SRCDIR
)/%.c
$(PLUGINBITMAPLIB
) $(ZXBOX_SRCDIR
)/zxbox.make
56 $(SILENT
)mkdir
-p
$(dir $@
)
57 $(call PRINTS
,CC
$(subst $(ROOTDIR
)/,,$<))$(CC
) -I
$(dir $<) $(ZXBOXFLAGS
) -c
$< -o
$@