summaryrefslogtreecommitdiff
path: root/apps/plugins/mikmod/Makefile
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2019-04-26 16:26:03 +0200
committernorly <ny-git@enpas.org>2019-04-26 16:33:30 +0200
commit6ca1a0f9cd1e5400701ad1ec7d09206aa75ff2f9 (patch)
tree624197580f28583cf6b289d6852bd4bb5796711a /apps/plugins/mikmod/Makefile
parent1b98f7c930017b5becdb28409eac170c843f23f2 (diff)
Add "MikMod for Rockbox 0.1" from 2007-06-29HEADmaster
This is an early port of MikMod to Rockbox that I did back in 2007. It was one of my early exercises in the C language. Since I didn't upstream it back then, someone else ended up porting it with a nicer UI. Fun fact: This version's PCM buffers are designed to be just about large enough to allow an iPod Video to render fm-2year/rapido.xm without pausing.
Diffstat (limited to 'apps/plugins/mikmod/Makefile')
-rw-r--r--apps/plugins/mikmod/Makefile154
1 files changed, 154 insertions, 0 deletions
diff --git a/apps/plugins/mikmod/Makefile b/apps/plugins/mikmod/Makefile
new file mode 100644
index 0000000..45a44ce
--- /dev/null
+++ b/apps/plugins/mikmod/Makefile
@@ -0,0 +1,154 @@
+# __________ __ ___.
+# Open \______ \ ____ ____ | | _\_ |__ _______ ___
+# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+# \/ \/ \/ \/ \/
+# $Id: Makefile 13515 2007-05-29 16:33:16Z nls $
+#
+
+INCLUDES = -I$(APPSDIR) \
+ -I.. \
+ -I. $(TARGET_INC) \
+ -I$(FIRMDIR)/include \
+ -I$(FIRMDIR)/export \
+ -I$(FIRMDIR)/common \
+ -I$(FIRMDIR)/drivers \
+ -I$(OUTDIR) \
+ -I$(BUILDDIR) \
+ -I./include
+CFLAGS = $(INCLUDES) $(GCCOPTS) -O2 $(TARGET) $(EXTRA_DEFINES) \
+ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN -DHAVE_SNPRINTF
+
+ifdef APPEXTRA
+ INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
+endif
+
+LINKFILE := $(OBJDIR)/link.lds
+DEPFILE = $(OBJDIR)/dep-mikmod
+SRC = mikmod.c \
+ loaders/load_669.c \
+ loaders/load_amf.c \
+ loaders/load_asy.c \
+ loaders/load_dsm.c \
+ loaders/load_far.c \
+ loaders/load_gdm.c \
+ loaders/load_imf.c \
+ loaders/load_it.c \
+ loaders/load_m15.c \
+ loaders/load_med.c \
+ loaders/load_mod.c \
+ loaders/load_mtm.c \
+ loaders/load_s3m.c \
+ loaders/load_stm.c \
+ loaders/load_stx.c \
+ loaders/load_ult.c \
+ loaders/load_uni.c \
+ loaders/load_xm.c \
+ mmio/mmalloc.c \
+ mmio/mmerror.c \
+ mmio/mmio.c \
+ playercode/mdriver.c \
+ playercode/mloader.c \
+ playercode/mlreg.c \
+ playercode/mlutil.c \
+ playercode/mplayer.c \
+ playercode/munitrk.c \
+ playercode/mwav.c \
+ playercode/npertab.c \
+ playercode/sloader.c \
+ playercode/virtch2.c \
+ playercode/virtch.c \
+ playercode/virtch_common.c
+
+SOURCES = $(SRC)
+OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
+DIRS = .
+
+ifndef SIMVER
+ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET)))))
+ LDS := archos.lds
+ OUTPUT = $(OUTDIR)/mikmod.ovl
+else ## iRiver target
+ LDS := ../plugin.lds
+ OUTPUT = $(OUTDIR)/mikmod.rock
+endif
+else ## simulators
+ OUTPUT = $(OUTDIR)/mikmod.rock
+endif
+
+all: $(OUTPUT)
+
+ifndef SIMVER
+$(OBJDIR)/mikmod.elf: $(OBJS) $(LINKFILE) $(BITMAPLIBS)
+ $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(BUILDDIR) -lplugin -lgcc \
+ $(LINKBITMAPS) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/mikmod.map
+
+$(OUTPUT): $(OBJDIR)/mikmod.elf
+ $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@
+else
+
+ifeq ($(SIMVER), x11)
+###################################################
+# This is the X11 simulator version
+
+$(OUTPUT): $(OBJS)
+ $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -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)
+ $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -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)
+ $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $(OBJS)
+ $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $(OBJS) \
+ $(BUILDDIR)/libplugin.a $(BITMAPLIBS) -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 mikmod)rm -rf $(OBJDIR)/mikmod
+ $(SILENT)rm -f $(OBJDIR)/mikmod.* $(DEPFILE)
+
+-include $(DEPFILE)