50a6ca39ad
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
47 lines
1.6 KiB
Makefile
47 lines
1.6 KiB
Makefile
# __________ __ ___.
|
|
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
# \/ \/ \/ \/ \/
|
|
# $Id$
|
|
#
|
|
|
|
ROCKBOY_SRCDIR = $(APPSDIR)/plugins/rockboy
|
|
ROCKBOY_OBJDIR = $(BUILDDIR)/apps/plugins/rockboy
|
|
|
|
ROCKBOY_SRC := $(call preprocess, $(ROCKBOY_SRCDIR)/SOURCES)
|
|
ROCKBOY_SRC += $(ROOTDIR)/firmware/libc/sscanf.c
|
|
ROCKBOY_OBJ := $(call c2obj, $(ROCKBOY_SRC))
|
|
|
|
OTHER_SRC += $(ROCKBOY_SRC)
|
|
|
|
ifndef SIMVER
|
|
ifneq (,$(findstring RECORDER,$(TARGET)))
|
|
## lowmem targets
|
|
ROCKS += $(ROCKBOY_OBJDIR)/rockboy.ovl
|
|
ROCKBOY_OUTLDS = $(ROCKBOY_OBJDIR)/rockboy.link
|
|
ROCKBOY_OVLFLAGS = -T$(ROCKBOY_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map
|
|
else
|
|
### all other targets
|
|
ROCKS += $(ROCKBOY_OBJDIR)/rockboy.rock
|
|
endif
|
|
else
|
|
### simulator
|
|
ROCKS += $(ROCKBOY_OBJDIR)/rockboy.rock
|
|
endif
|
|
|
|
$(ROCKBOY_OBJDIR)/rockboy.rock: $(ROCKBOY_OBJ)
|
|
|
|
$(ROCKBOY_OBJDIR)/rockboy.refmap: $(ROCKBOY_OBJ)
|
|
|
|
$(ROCKBOY_OUTLDS): $(PLUGIN_LDS) $(ROCKBOY_OBJDIR)/rockboy.refmap
|
|
$(call PRINTS,PP $(@F))$(call preprocess2file,$<,$@,-DOVERLAY_OFFSET=$(shell \
|
|
$(TOOLSDIR)/ovl_offset.pl $(ROCKBOY_OBJDIR)/rockboy.refmap))
|
|
|
|
$(ROCKBOY_OBJDIR)/rockboy.ovl: $(ROCKBOY_OBJ) $(ROCKBOY_OUTLDS)
|
|
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \
|
|
$(filter %.o, $^) \
|
|
$(filter %.a, $+) \
|
|
-lgcc $(ROCKBOY_OVLFLAGS)
|
|
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
|