# __________ __ ___. # Open \______ \ ____ ____ | | _\_ |__ _______ ___ # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ # $Id$ # INCLUDES = $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common \ -I$(FIRMDIR)/drivers -I$(APPSDIR) -Ilib -I$(BUILDDIR) CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(EXTRA_DEFINES) \ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN ifdef APPEXTRA INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) endif ifdef SOFTWARECODECS CODECLIBS = -lmad -la52 -lffmpegFLAC -ltremor -lwavpack -lmusepack endif # Set up the bitmap libraries BITMAPLIBS = LINKBITMAPS = ifneq ($(strip $(BMP2RB_MONO)),) BITMAPLIBS += pluginbitmapsmono LINKBITMAPS += -lpluginbitmapsmono endif ifneq ($(strip $(BMP2RB_NATIVE)),) BITMAPLIBS += pluginbitmapsnative LINKBITMAPS += -lpluginbitmapsnative endif ifneq ($(strip $(BMP2RB_REMOTEMONO)),) BITMAPLIBS += pluginbitmapsremotemono LINKBITMAPS += -lpluginbitmapsremotemono endif ifneq ($(strip $(BMP2RB_REMOTENATIVE)),) BITMAPLIBS += pluginbitmapsremotenative LINKBITMAPS += -lpluginbitmapsremotenative endif LDS := plugin.lds LINKFILE := $(OBJDIR)/pluginlink.lds DEPFILE = $(OBJDIR)/dep-plugins # This sets up 'SRC' based on the files mentioned in SOURCES include $(TOOLSDIR)/makesrc.inc # This sets up 'SUBDIRS' based on the directories mentioned in SUBDIRS include $(TOOLSDIR)/makesubdirs.inc ROCKS := $(SRC:%.c=$(OBJDIR)/%.rock) SOURCES = $(SRC) ELFS := $(SRC:%.c=$(OBJDIR)/%.elf) OBJS := $(SRC:%.c=$(OBJDIR)/%.o) # as created by the cross-compiler for win32: DEFS := $(SRC:%.c=$(OBJDIR)/%.def) DIRS = . .PHONY: $(SUBDIRS) all: build dep: $(DEPFILE) build: $(DEPFILE) $(BITMAPLIBS) $(call PRINTS,MAKE rocks)$(MAKE) rocks $(call PRINTS,MAKE subdirs)$(MAKE) subdirs rocks: $(ROCKS) subdirs: $(SUBDIRS) $(BUILDDIR)/credits.raw: $(DOCSDIR)/CREDITS $(call PRINTS,create credits.raw)perl credits.pl < $< > $@ $(OBJDIR)/credits.o: credits.c $(BUILDDIR)/credits.raw $(SILENT)mkdir -p $(dir $@) $(call PRINTS,CC $($@ $(SUBDIRS): $(SILENT)mkdir -p $(OBJDIR)/$@ $(call PRINTS,MAKE in $@)$(MAKE) -C $@ OUTDIR=$(OBJDIR) OBJDIR=$(OBJDIR)/$@ \ LINKBITMAPS="$(LINKBITMAPS)" clean: $(call PRINTS,cleaning plugins)rm -f $(ROCKS) $(LINKFILE) $(OBJDIR)/*.rock $(DEPFILE) $(ELFS) \ $(BUILDDIR)/credits.raw $(OBJS) $(DEFS) $(SILENT)$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib $(SILENT)$(MAKE) -C bitmaps/mono clean OBJDIR=$(OBJDIR)/bitmaps/mono $(SILENT)$(MAKE) -C bitmaps/native clean OBJDIR=$(OBJDIR)/bitmaps/native $(SILENT)$(MAKE) -C bitmaps/remote_mono clean OBJDIR=$(OBJDIR)/bitmaps/remote_mono $(SILENT)$(MAKE) -C bitmaps/remote_native clean OBJDIR=$(OBJDIR)/bitmaps/remote_native $(SILENT)$(MAKE) -C rockboy clean OBJDIR=$(OBJDIR)/rockboy $(SILENT)$(MAKE) -C searchengine clean OBJDIR=$(OBJDIR)/searchengine @rm -rf $(BUILDDIR)/pluginbitmaps -include $(DEPFILE)