# __________ __ ___. # Open \______ \ ____ ____ | | _\_ |__ _______ ___ # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ # $Id$ # INCLUDES = -I$(APPSDIR) -I.. -I. $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export \ -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(APPSDIR)/plugins/lib -I$(OUTDIR) -I$(BUILDDIR) CFLAGS = $(INCLUDES) $(GCCOPTS) -O2 $(TARGET) $(EXTRA_DEFINES) \ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN ifdef APPEXTRA INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) endif LINKFILE := $(OBJDIR)/link.lds DEPFILE = $(OBJDIR)/dep-mpegplayer # This sets up 'SRC' based on the files mentioned in SOURCES include $(TOOLSDIR)/makesrc.inc SOURCES = $(SRC) OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o) OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2)) DIRS = . LDS := ../plugin.lds OUTPUT = $(OUTDIR)/mpegplayer.rock all: $(OUTPUT) .PHONY: libmad-mpegplayer $(BUILDDIR)/libmad-mpegplayer.a: libmad-mpegplayer libmad-mpegplayer: $(SILENT)mkdir -p $(OBJDIR)/libmad-mpegplayer $(call PRINTS,MAKE in libmad for mpegplayer)$(MAKE) -C $(APPSDIR)/codecs/libmad MPEGPLAYER=1 OBJDIR=$(OBJDIR)/libmad-mpegplayer OUTPUT=$(BUILDDIR)/libmad-mpegplayer.a ifndef SIMVER $(OBJDIR)/mpegplayer.elf: $(OBJS) $(LINKFILE) $(BUILDDIR)/libmad-mpegplayer.a $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(BUILDDIR) -lplugin -lmad-mpegplayer -lgcc\ -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/mpegplayer.map $(OUTPUT): $(OBJDIR)/mpegplayer.elf $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@ else ifeq ($(SIMVER), x11) ################################################### # This is the X11 simulator version $(OUTPUT): $(OBJS) $(BUILDDIR)/libmad-mpegplayer.a $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin -lmad-mpegplayer -o $@ ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) # 'x' must be kept or you'll have "Win32 error 5" # $ fgrep 5 /usr/include/w32api/winerror.h | head -1 # #define ERROR_ACCESS_DENIED 5L else @chmod -x $@ endif else # end of x11-simulator ifeq ($(SIMVER), sdl) ################################################### # This is the SDL simulator version $(OUTPUT): $(OBJS) $(BUILDDIR)/libmad-mpegplayer.a $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin -lmad-mpegplayer -o $@ ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) # 'x' must be kept or you'll have "Win32 error 5" # $ fgrep 5 /usr/include/w32api/winerror.h | head -1 # #define ERROR_ACCESS_DENIED 5L else @chmod -x $@ endif else # end of sdl-simulator ################################################### # This is the win32 simulator version DLLTOOLFLAGS = --export-all DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin $(OUTPUT): $(OBJS) $(BUILDDIR)/libmad-mpegplayer.a $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $(OBJS) $(SILENT)@$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $(OBJS) \ $(BUILDDIR)/libplugin.a -o $@ ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) # 'x' must be kept or you'll have "Win32 error 5" # $ fgrep 5 /usr/include/w32api/winerror.h | head -1 # #define ERROR_ACCESS_DENIED 5L else @chmod -x $@ endif endif # end of win32-simulator endif endif # end of simulator section include $(TOOLSDIR)/make.inc # MEMORYSIZE should be passed on to this makefile with the chosen memory size # given in number of MB $(LINKFILE): $(LDS) $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) \ $(DEFINES) -E -P - >$@ clean: $(call PRINTS,cleaning mpegplayer)rm -rf $(OBJDIR)/mpegplayer $(SILENT)rm -f $(OBJDIR)/mpegplayer.* $(DEPFILE) -include $(DEPFILE)