2006-08-07 22:11:07 +00:00
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# $Id$
#
INCLUDES = -I$( APPSDIR) -I.. -I. $( TARGET_INC) -I$( FIRMDIR) /include -I$( FIRMDIR) /export \
2007-03-26 01:32:31 +00:00
-I$( FIRMDIR) /common -I$( FIRMDIR) /drivers -I$( APPSDIR) /plugins/lib -I$( OUTDIR) -I$( BUILDDIR)
2006-08-07 22:11:07 +00:00
CFLAGS = $( INCLUDES) $( GCCOPTS) -O2 $( TARGET) $( EXTRA_DEFINES) \
-DTARGET_ID= $( TARGET_ID) -DMEM= ${ MEMORYSIZE } -DPLUGIN
i f d e f A P P E X T R A
INCLUDES += $( patsubst %,-I$( APPSDIR) /%,$( subst :, ,$( APPEXTRA) ) )
e n d i f
LINKFILE := $( OBJDIR) /link.lds
DEPFILE = $( OBJDIR) /dep-mpegplayer
# This sets up 'SRC' based on the files mentioned in SOURCES
i n c l u d e $( TOOLSDIR ) / m a k e s r c . i n c
SOURCES = $( SRC)
OBJS2 := $( SRC:%.c= $( OBJDIR) /%.o)
OBJS = $( patsubst %.S, $( OBJDIR) /%.o, $( OBJS2) )
DIRS = .
LDS := ../plugin.lds
OUTPUT = $( OUTDIR) /mpegplayer.rock
all : $( OUTPUT )
2007-04-13 23:05:42 +00:00
.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
2006-08-07 22:11:07 +00:00
i f n d e f S I M V E R
2007-04-13 23:05:42 +00:00
$(OBJDIR)/mpegplayer.elf : $( OBJS ) $( LINKFILE ) $( BUILDDIR ) /libmad -mpegplayer .a
$( call PRINTS,LD $( @F) ) $( CC) $( CFLAGS) -o $@ $( OBJS) -L$( BUILDDIR) -lplugin -lmad-mpegplayer -lgcc\
2006-08-07 22:11:07 +00:00
-T$( LINKFILE) -Wl,-Map,$( OBJDIR) /mpegplayer.map
$(OUTPUT) : $( OBJDIR ) /mpegplayer .elf
2006-10-27 21:48:06 +00:00
$( call PRINTS,OBJCOPY $( @F) ) $( OC) -O binary $< $@
2006-08-07 22:11:07 +00:00
e l s e
i f e q ( $( SIMVER ) , x 1 1 )
###################################################
# This is the X11 simulator version
2007-04-13 23:05:42 +00:00
$(OUTPUT) : $( OBJS ) $( BUILDDIR ) /libmad -mpegplayer .a
$( call PRINTS,LD $( @F) ) $( CC) $( CFLAGS) $( SHARED_FLAG) $( OBJS) -L$( BUILDDIR) -lplugin -lmad-mpegplayer -o $@
2006-08-07 22:11:07 +00:00
i f e q ( $( findstring CYGWIN ,$ ( UNAME ) ) , C Y G W I N )
# '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
e l s e
@chmod -x $@
e n d i f
e l s e # end of x11-simulator
i f e q ( $( SIMVER ) , s d l )
###################################################
# This is the SDL simulator version
2007-04-13 23:05:42 +00:00
$(OUTPUT) : $( OBJS ) $( BUILDDIR ) /libmad -mpegplayer .a
$( call PRINTS,LD $( @F) ) $( CC) $( CFLAGS) $( SHARED_FLAG) $( OBJS) -L$( BUILDDIR) -lplugin -lmad-mpegplayer -o $@
2006-08-07 22:11:07 +00:00
i f e q ( $( findstring CYGWIN ,$ ( UNAME ) ) , C Y G W I N )
# '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
e l s e
@chmod -x $@
e n d i f
e l s e # end of sdl-simulator
###################################################
# This is the win32 simulator version
DLLTOOLFLAGS = --export-all
DLLWRAPFLAGS = -s --entry _DllMain@12 --target= i386-mingw32 -mno-cygwin
2007-04-13 23:05:42 +00:00
$(OUTPUT) : $( OBJS ) $( BUILDDIR ) /libmad -mpegplayer .a
2006-10-27 21:48:06 +00:00
$( call PRINTS,DLL $( @F) ) $( DLLTOOL) $( DLLTOOLFLAGS) -z $( OBJDIR) /$* .def $( OBJS)
$( SILENT) @$( DLLWRAP) $( DLLWRAPFLAGS) --def $( OBJDIR) /$* .def $( OBJS) \
2006-08-07 22:11:07 +00:00
$( BUILDDIR) /libplugin.a -o $@
i f e q ( $( findstring CYGWIN ,$ ( UNAME ) ) , C Y G W I N )
# '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
e l s e
@chmod -x $@
e n d i f
e n d i f # end of win32-simulator
e n d i f
e n d i f # end of simulator section
i n c l u d e $( TOOLSDIR ) / m a k e . i n c
# MEMORYSIZE should be passed on to this makefile with the chosen memory size
# given in number of MB
$(LINKFILE) : $( LDS )
2006-10-27 21:48:06 +00:00
$( call PRINTS,build $( @F) ) cat $< | $( CC) -DMEMORYSIZE= $( MEMORYSIZE) $( INCLUDES) $( TARGET) \
2006-08-07 22:11:07 +00:00
$( DEFINES) -E -P - >$@
clean :
2006-10-27 21:48:06 +00:00
$( call PRINTS,cleaning mpegplayer) rm -rf $( OBJDIR) /mpegplayer
$( SILENT) rm -f $( OBJDIR) /mpegplayer.* $( DEPFILE)
2006-08-07 22:11:07 +00:00
- i n c l u d e $( DEPFILE )