Add "MikMod for Rockbox 0.1" from 2007-06-29
[mikmod-rockbox.git] / apps / plugins / mikmod / Makefile
diff --git a/apps/plugins/mikmod/Makefile b/apps/plugins/mikmod/Makefile
new file mode 100644 (file)
index 0000000..45a44ce
--- /dev/null
@@ -0,0 +1,154 @@
+#             __________               __   ___.\r
+#   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___\r
+#   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /\r
+#   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <\r
+#   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \\r
+#                     \/            \/     \/    \/            \/\r
+# $Id: Makefile 13515 2007-05-29 16:33:16Z nls $\r
+#\r
+\r
+INCLUDES = -I$(APPSDIR) \\r
+                       -I.. \\r
+                       -I. $(TARGET_INC) \\r
+                       -I$(FIRMDIR)/include \\r
+                       -I$(FIRMDIR)/export \\r
+                       -I$(FIRMDIR)/common \\r
+                       -I$(FIRMDIR)/drivers \\r
+                       -I$(OUTDIR) \\r
+                       -I$(BUILDDIR) \\r
+                       -I./include\r
+CFLAGS = $(INCLUDES) $(GCCOPTS) -O2 $(TARGET) $(EXTRA_DEFINES) \\r
+ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN -DHAVE_SNPRINTF\r
+\r
+ifdef APPEXTRA\r
+   INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))\r
+endif\r
+\r
+LINKFILE := $(OBJDIR)/link.lds\r
+DEPFILE = $(OBJDIR)/dep-mikmod\r
+SRC = mikmod.c \\r
+       loaders/load_669.c \\r
+       loaders/load_amf.c \\r
+       loaders/load_asy.c \\r
+       loaders/load_dsm.c \\r
+       loaders/load_far.c \\r
+       loaders/load_gdm.c \\r
+       loaders/load_imf.c \\r
+       loaders/load_it.c \\r
+       loaders/load_m15.c \\r
+       loaders/load_med.c \\r
+       loaders/load_mod.c \\r
+       loaders/load_mtm.c \\r
+       loaders/load_s3m.c \\r
+       loaders/load_stm.c \\r
+       loaders/load_stx.c \\r
+       loaders/load_ult.c \\r
+       loaders/load_uni.c \\r
+       loaders/load_xm.c \\r
+       mmio/mmalloc.c \\r
+       mmio/mmerror.c \\r
+       mmio/mmio.c \\r
+       playercode/mdriver.c \\r
+       playercode/mloader.c \\r
+       playercode/mlreg.c \\r
+       playercode/mlutil.c \\r
+       playercode/mplayer.c \\r
+       playercode/munitrk.c \\r
+       playercode/mwav.c \\r
+       playercode/npertab.c \\r
+       playercode/sloader.c \\r
+       playercode/virtch2.c \\r
+       playercode/virtch.c \\r
+       playercode/virtch_common.c\r
+\r
+SOURCES = $(SRC)\r
+OBJS := $(SRC:%.c=$(OBJDIR)/%.o)\r
+DIRS = .\r
+\r
+ifndef SIMVER\r
+ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET)))))\r
+    LDS := archos.lds\r
+    OUTPUT = $(OUTDIR)/mikmod.ovl\r
+else  ## iRiver target\r
+    LDS := ../plugin.lds\r
+    OUTPUT = $(OUTDIR)/mikmod.rock\r
+endif\r
+else  ## simulators\r
+    OUTPUT = $(OUTDIR)/mikmod.rock\r
+endif\r
+\r
+all: $(OUTPUT)\r
+\r
+ifndef SIMVER\r
+$(OBJDIR)/mikmod.elf: $(OBJS) $(LINKFILE) $(BITMAPLIBS)\r
+       $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(BUILDDIR) -lplugin -lgcc \\r
+           $(LINKBITMAPS) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/mikmod.map\r
+\r
+$(OUTPUT): $(OBJDIR)/mikmod.elf\r
+       $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@\r
+else\r
+\r
+ifeq ($(SIMVER), x11)\r
+###################################################\r
+# This is the X11 simulator version\r
+\r
+$(OUTPUT): $(OBJS)\r
+       $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -o $@\r
+ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)\r
+# 'x' must be kept or you'll have "Win32 error 5"\r
+#     $ fgrep 5 /usr/include/w32api/winerror.h | head -1\r
+#         #define ERROR_ACCESS_DENIED 5L\r
+else\r
+       @chmod -x $@\r
+endif\r
+\r
+else # end of x11-simulator\r
+ifeq ($(SIMVER), sdl)\r
+###################################################\r
+# This is the SDL simulator version\r
+\r
+$(OUTPUT): $(OBJS)\r
+       $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -o $@\r
+ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)\r
+# 'x' must be kept or you'll have "Win32 error 5"\r
+#     $ fgrep 5 /usr/include/w32api/winerror.h | head -1\r
+#         #define ERROR_ACCESS_DENIED 5L\r
+else\r
+       @chmod -x $@\r
+endif\r
+\r
+else # end of sdl-simulator\r
+###################################################\r
+# This is the win32 simulator version\r
+DLLTOOLFLAGS = --export-all\r
+DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin\r
+\r
+$(OUTPUT): $(OBJS)\r
+       $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $(OBJS)\r
+       $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $(OBJS) \\r
+                $(BUILDDIR)/libplugin.a $(BITMAPLIBS) -o $@\r
+ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)\r
+# 'x' must be kept or you'll have "Win32 error 5"\r
+#     $ fgrep 5 /usr/include/w32api/winerror.h | head -1\r
+#         #define ERROR_ACCESS_DENIED 5L\r
+else\r
+       @chmod -x $@\r
+endif\r
+endif # end of win32-simulator\r
+endif\r
+endif # end of simulator section\r
+\r
+\r
+include $(TOOLSDIR)/make.inc\r
+\r
+# MEMORYSIZE should be passed on to this makefile with the chosen memory size\r
+# given in number of MB\r
+$(LINKFILE): $(LDS)\r
+       $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) \\r
+       $(DEFINES) -E -P - >$@\r
+\r
+clean:\r
+       $(call PRINTS,cleaning mikmod)rm -rf $(OBJDIR)/mikmod\r
+       $(SILENT)rm -f $(OBJDIR)/mikmod.* $(DEPFILE)\r
+\r
+-include $(DEPFILE)\r