summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/codecs.make23
-rw-r--r--apps/codecs/libgme/AYSOURCES6
-rw-r--r--apps/codecs/libgme/GBSSOURCES8
-rw-r--r--apps/codecs/libgme/HESSOURCES7
-rw-r--r--apps/codecs/libgme/KSSSOURCES13
-rw-r--r--apps/codecs/libgme/NSFSOURCES15
-rw-r--r--apps/codecs/libgme/SGCSOURCES10
-rw-r--r--apps/codecs/libgme/VGMSOURCES12
-rwxr-xr-xapps/codecs/libgme/ay/AYSOURCES6
-rwxr-xr-xapps/codecs/libgme/ay/libay.make21
-rw-r--r--apps/codecs/libgme/emu2413/EMU2413SOURCES3
-rw-r--r--apps/codecs/libgme/emu2413/libemu2413.make21
-rw-r--r--apps/codecs/libgme/gbs/GBSSOURCES8
-rw-r--r--apps/codecs/libgme/gbs/libgbs.make21
-rw-r--r--apps/codecs/libgme/hes/HESSOURCES7
-rw-r--r--apps/codecs/libgme/hes/libhes.make21
-rwxr-xr-xapps/codecs/libgme/kss/KSSSOURCES12
-rwxr-xr-xapps/codecs/libgme/kss/libkss.make21
-rw-r--r--apps/codecs/libgme/libgbs.make21
-rw-r--r--apps/codecs/libgme/libhes.make21
-rw-r--r--apps/codecs/libgme/libkss.make21
-rw-r--r--apps/codecs/libgme/libnsf.make21
-rw-r--r--apps/codecs/libgme/libsgc.make21
-rw-r--r--apps/codecs/libgme/libvgm.make21
-rw-r--r--apps/codecs/libgme/nsf/NSFSOURCES14
-rw-r--r--apps/codecs/libgme/nsf/libnsf.make21
-rw-r--r--apps/codecs/libgme/sgc/SGCSOURCES7
-rw-r--r--apps/codecs/libgme/sgc/libsgc.make21
-rw-r--r--apps/codecs/libgme/vgm/VGMSOURCES10
-rw-r--r--apps/codecs/libgme/vgm/libvgm.make21
30 files changed, 247 insertions, 208 deletions
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make
index 19ff60ba3a..69c6600c30 100644
--- a/apps/codecs/codecs.make
+++ b/apps/codecs/codecs.make
@@ -43,13 +43,14 @@ include $(APPSDIR)/codecs/librm/librm.make
include $(APPSDIR)/codecs/libatrac/libatrac.make
include $(APPSDIR)/codecs/libpcm/libpcm.make
include $(APPSDIR)/codecs/libtta/libtta.make
-include $(APPSDIR)/codecs/libgme/libay.make
-include $(APPSDIR)/codecs/libgme/libgbs.make
-include $(APPSDIR)/codecs/libgme/libhes.make
-include $(APPSDIR)/codecs/libgme/libnsf.make
-include $(APPSDIR)/codecs/libgme/libsgc.make
-include $(APPSDIR)/codecs/libgme/libvgm.make
-include $(APPSDIR)/codecs/libgme/libkss.make
+include $(APPSDIR)/codecs/libgme/ay/libay.make
+include $(APPSDIR)/codecs/libgme/gbs/libgbs.make
+include $(APPSDIR)/codecs/libgme/hes/libhes.make
+include $(APPSDIR)/codecs/libgme/nsf/libnsf.make
+include $(APPSDIR)/codecs/libgme/sgc/libsgc.make
+include $(APPSDIR)/codecs/libgme/vgm/libvgm.make
+include $(APPSDIR)/codecs/libgme/kss/libkss.make
+include $(APPSDIR)/codecs/libgme/emu2413/libemu2413.make
# compile flags for codecs
CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \
@@ -103,10 +104,10 @@ $(CODECDIR)/tta.codec : $(CODECDIR)/libtta.a
$(CODECDIR)/ay.codec : $(CODECDIR)/libay.a
$(CODECDIR)/gbs.codec : $(CODECDIR)/libgbs.a
$(CODECDIR)/hes.codec : $(CODECDIR)/libhes.a
-$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a
-$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a
-$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a
-$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a
+$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a $(CODECDIR)/libemu2413.a
+$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a $(CODECDIR)/libemu2413.a
+$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a
+$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a
$(CODECS): $(CODECLIB) # this must be last in codec dependency list
diff --git a/apps/codecs/libgme/AYSOURCES b/apps/codecs/libgme/AYSOURCES
index 51253fe2f1..e69de29bb2 100644
--- a/apps/codecs/libgme/AYSOURCES
+++ b/apps/codecs/libgme/AYSOURCES
@@ -1,6 +0,0 @@
-ay_apu.c
-ay_cpu.c
-ay_emu.c
-blip_buffer.c
-multi_buffer.c
-z80_cpu.c
diff --git a/apps/codecs/libgme/GBSSOURCES b/apps/codecs/libgme/GBSSOURCES
index 5548fd85eb..e69de29bb2 100644
--- a/apps/codecs/libgme/GBSSOURCES
+++ b/apps/codecs/libgme/GBSSOURCES
@@ -1,8 +0,0 @@
-gb_apu.c
-gb_cpu.c
-gbs_cpu.c
-gb_oscs.c
-gbs_emu.c
-blip_buffer.c
-multi_buffer.c
-rom_data.c
diff --git a/apps/codecs/libgme/HESSOURCES b/apps/codecs/libgme/HESSOURCES
index 58a38f2f5a..e69de29bb2 100644
--- a/apps/codecs/libgme/HESSOURCES
+++ b/apps/codecs/libgme/HESSOURCES
@@ -1,7 +0,0 @@
-hes_apu.c
-hes_apu_adpcm.c
-hes_cpu.c
-hes_emu.c
-blip_buffer.c
-multi_buffer.c
-rom_data.c
diff --git a/apps/codecs/libgme/KSSSOURCES b/apps/codecs/libgme/KSSSOURCES
index 8e9c6601bb..e69de29bb2 100644
--- a/apps/codecs/libgme/KSSSOURCES
+++ b/apps/codecs/libgme/KSSSOURCES
@@ -1,13 +0,0 @@
-ay_apu.c
-kss_cpu.c
-kss_emu.c
-kss_scc_apu.c
-opl_apu.c
-sms_apu.c
-z80_cpu.c
-blip_buffer.c
-multi_buffer.c
-rom_data.c
-emu2413.c
-emu8950.c
-emuadpcm.c
diff --git a/apps/codecs/libgme/NSFSOURCES b/apps/codecs/libgme/NSFSOURCES
index d96e1d3f32..e69de29bb2 100644
--- a/apps/codecs/libgme/NSFSOURCES
+++ b/apps/codecs/libgme/NSFSOURCES
@@ -1,15 +0,0 @@
-nes_apu.c
-nes_cpu.c
-nes_fds_apu.c
-nes_fme7_apu.c
-nes_namco_apu.c
-nes_oscs.c
-nes_vrc6_apu.c
-nes_vrc7_apu.c
-nsf_cpu.c
-nsf_emu.c
-nsfe_info.c
-blip_buffer.c
-multi_buffer.c
-rom_data.c
-emu2413.c
diff --git a/apps/codecs/libgme/SGCSOURCES b/apps/codecs/libgme/SGCSOURCES
index 72b06efef9..e69de29bb2 100644
--- a/apps/codecs/libgme/SGCSOURCES
+++ b/apps/codecs/libgme/SGCSOURCES
@@ -1,10 +0,0 @@
-sgc_cpu.c
-sgc_emu.c
-sms_apu.c
-sms_fm_apu.c
-ym2413_emu.c
-z80_cpu.c
-blip_buffer.c
-multi_buffer.c
-rom_data.c
-emu2413.c
diff --git a/apps/codecs/libgme/VGMSOURCES b/apps/codecs/libgme/VGMSOURCES
index ed32baca0d..e69de29bb2 100644
--- a/apps/codecs/libgme/VGMSOURCES
+++ b/apps/codecs/libgme/VGMSOURCES
@@ -1,12 +0,0 @@
-blip_buffer.c
-multi_buffer.c
-resampler.c
-sms_apu.c
-vgm_emu.c
-emu2413.c
-ym2413_emu.c
-ym2612_emu.c
-inflate/bbfuncs.c
-inflate/inflate.c
-inflate/mallocer.c
-inflate/mbreader.c
diff --git a/apps/codecs/libgme/ay/AYSOURCES b/apps/codecs/libgme/ay/AYSOURCES
new file mode 100755
index 0000000000..51253fe2f1
--- /dev/null
+++ b/apps/codecs/libgme/ay/AYSOURCES
@@ -0,0 +1,6 @@
+ay_apu.c
+ay_cpu.c
+ay_emu.c
+blip_buffer.c
+multi_buffer.c
+z80_cpu.c
diff --git a/apps/codecs/libgme/ay/libay.make b/apps/codecs/libgme/ay/libay.make
new file mode 100755
index 0000000000..9ad661986d
--- /dev/null
+++ b/apps/codecs/libgme/ay/libay.make
@@ -0,0 +1,21 @@
+
+# libay
+AYLIB := $(CODECDIR)/libay.a
+AYLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/ay/AYSOURCES)
+AYLIB_OBJ := $(call c2obj, $(AYLIB_SRC))
+OTHER_SRC += $(AYLIB_SRC)
+
+$(AYLIB): $(AYLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+AYFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_AY_TYPE
+ifeq ($(CPU),arm)
+ AYFLAGS += -O1
+else
+ AYFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/ay/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(AYFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/emu2413/EMU2413SOURCES b/apps/codecs/libgme/emu2413/EMU2413SOURCES
new file mode 100644
index 0000000000..dcde7ea719
--- /dev/null
+++ b/apps/codecs/libgme/emu2413/EMU2413SOURCES
@@ -0,0 +1,3 @@
+sms_fm_apu.c
+ym2413_emu.c
+emu2413.c
diff --git a/apps/codecs/libgme/emu2413/libemu2413.make b/apps/codecs/libgme/emu2413/libemu2413.make
new file mode 100644
index 0000000000..74f51c7664
--- /dev/null
+++ b/apps/codecs/libgme/emu2413/libemu2413.make
@@ -0,0 +1,21 @@
+
+# libemu
+EMULIB := $(CODECDIR)/libemu2413.a
+EMULIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/emu2413/EMU2413SOURCES)
+EMULIB_OBJ := $(call c2obj, $(EMULIB_SRC))
+OTHER_SRC += $(EMULIB_SRC)
+
+$(EMULIB): $(EMULIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+EMUFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_EMU_TYPE
+ifeq ($(CPU),arm)
+ EMUFLAGS += -O3
+else
+ EMUFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/emu2413/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(EMUFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/gbs/GBSSOURCES b/apps/codecs/libgme/gbs/GBSSOURCES
new file mode 100644
index 0000000000..5548fd85eb
--- /dev/null
+++ b/apps/codecs/libgme/gbs/GBSSOURCES
@@ -0,0 +1,8 @@
+gb_apu.c
+gb_cpu.c
+gbs_cpu.c
+gb_oscs.c
+gbs_emu.c
+blip_buffer.c
+multi_buffer.c
+rom_data.c
diff --git a/apps/codecs/libgme/gbs/libgbs.make b/apps/codecs/libgme/gbs/libgbs.make
new file mode 100644
index 0000000000..260e0bc324
--- /dev/null
+++ b/apps/codecs/libgme/gbs/libgbs.make
@@ -0,0 +1,21 @@
+
+# libgbs
+GBSLIB := $(CODECDIR)/libgbs.a
+GBSLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/gbs/GBSSOURCES)
+GBSLIB_OBJ := $(call c2obj, $(GBSLIB_SRC))
+OTHER_SRC += $(GBSLIB_SRC)
+
+$(GBSLIB): $(GBSLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+GBSFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_GBS_TYPE
+ifeq ($(CPU),arm)
+ GBSFLAGS += -O1
+else
+ GBSFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/gbs/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(GBSFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/hes/HESSOURCES b/apps/codecs/libgme/hes/HESSOURCES
new file mode 100644
index 0000000000..58a38f2f5a
--- /dev/null
+++ b/apps/codecs/libgme/hes/HESSOURCES
@@ -0,0 +1,7 @@
+hes_apu.c
+hes_apu_adpcm.c
+hes_cpu.c
+hes_emu.c
+blip_buffer.c
+multi_buffer.c
+rom_data.c
diff --git a/apps/codecs/libgme/hes/libhes.make b/apps/codecs/libgme/hes/libhes.make
new file mode 100644
index 0000000000..6d89eae248
--- /dev/null
+++ b/apps/codecs/libgme/hes/libhes.make
@@ -0,0 +1,21 @@
+
+# libhes
+HESLIB := $(CODECDIR)/libhes.a
+HESLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/hes/HESSOURCES)
+HESLIB_OBJ := $(call c2obj, $(HESLIB_SRC))
+OTHER_SRC += $(HESLIB_SRC)
+
+$(HESLIB): $(HESLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+HESFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_HES_TYPE
+ifeq ($(CPU),arm)
+ HESFLAGS += -O1
+else
+ HESFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/hes/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(HESFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/kss/KSSSOURCES b/apps/codecs/libgme/kss/KSSSOURCES
new file mode 100755
index 0000000000..61dd42ad51
--- /dev/null
+++ b/apps/codecs/libgme/kss/KSSSOURCES
@@ -0,0 +1,12 @@
+ay_apu.c
+kss_cpu.c
+kss_emu.c
+kss_scc_apu.c
+opl_apu.c
+sms_apu.c
+z80_cpu.c
+blip_buffer.c
+multi_buffer.c
+rom_data.c
+emu8950.c
+emuadpcm.c
diff --git a/apps/codecs/libgme/kss/libkss.make b/apps/codecs/libgme/kss/libkss.make
new file mode 100755
index 0000000000..115d28b557
--- /dev/null
+++ b/apps/codecs/libgme/kss/libkss.make
@@ -0,0 +1,21 @@
+
+# libkss
+KSSLIB := $(CODECDIR)/libkss.a
+KSSLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/kss/KSSSOURCES)
+KSSLIB_OBJ := $(call c2obj, $(KSSLIB_SRC))
+OTHER_SRC += $(KSSLIB_SRC)
+
+$(KSSLIB): $(KSSLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+KSSFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_KSS_TYPE
+ifeq ($(CPU),arm)
+ KSSFLAGS += -O1
+else
+ KSSFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/kss/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(KSSFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libgbs.make b/apps/codecs/libgme/libgbs.make
index cf6ff01274..e69de29bb2 100644
--- a/apps/codecs/libgme/libgbs.make
+++ b/apps/codecs/libgme/libgbs.make
@@ -1,21 +0,0 @@
-
-# libgbs
-GBSLIB := $(CODECDIR)/libgbs.a
-GBSLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/GBSSOURCES)
-GBSLIB_OBJ := $(call c2obj, $(GBSLIB_SRC))
-OTHER_SRC += $(GBSLIB_SRC)
-
-$(GBSLIB): $(GBSLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-GBSFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_GBS_TYPE
-ifeq ($(CPU),arm)
- GBSFLAGS += -O3
-else
- GBSFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(GBSFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libhes.make b/apps/codecs/libgme/libhes.make
index e0018565fb..e69de29bb2 100644
--- a/apps/codecs/libgme/libhes.make
+++ b/apps/codecs/libgme/libhes.make
@@ -1,21 +0,0 @@
-
-# libhes
-HESLIB := $(CODECDIR)/libhes.a
-HESLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/HESSOURCES)
-HESLIB_OBJ := $(call c2obj, $(HESLIB_SRC))
-OTHER_SRC += $(HESLIB_SRC)
-
-$(HESLIB): $(HESLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-HESFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_HES_TYPE
-ifeq ($(CPU),arm)
- HESFLAGS += -O3
-else
- HESFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(HESFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libkss.make b/apps/codecs/libgme/libkss.make
index 0e2dd54bc2..e69de29bb2 100644
--- a/apps/codecs/libgme/libkss.make
+++ b/apps/codecs/libgme/libkss.make
@@ -1,21 +0,0 @@
-
-# libkss
-KSSLIB := $(CODECDIR)/libkss.a
-KSSLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/KSSSOURCES)
-KSSLIB_OBJ := $(call c2obj, $(KSSLIB_SRC))
-OTHER_SRC += $(KSSLIB_SRC)
-
-$(KSSLIB): $(KSSLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-KSSFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_KSS_TYPE
-ifeq ($(CPU),arm)
- KSSFLAGS += -O3
-else
- KSSFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(KSSFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libnsf.make b/apps/codecs/libgme/libnsf.make
index 8b9df7526f..e69de29bb2 100644
--- a/apps/codecs/libgme/libnsf.make
+++ b/apps/codecs/libgme/libnsf.make
@@ -1,21 +0,0 @@
-
-# libnsf
-NSFLIB := $(CODECDIR)/libnsf.a
-NSFLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/NSFSOURCES)
-NSFLIB_OBJ := $(call c2obj, $(NSFLIB_SRC))
-OTHER_SRC += $(NSFLIB_SRC)
-
-$(NSFLIB): $(NSFLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-NSFFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_NSF_TYPE
-ifeq ($(CPU),arm)
- NSFFLAGS += -O3
-else
- NSFFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(NSFFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libsgc.make b/apps/codecs/libgme/libsgc.make
index 0defe788c6..e69de29bb2 100644
--- a/apps/codecs/libgme/libsgc.make
+++ b/apps/codecs/libgme/libsgc.make
@@ -1,21 +0,0 @@
-
-# libsgc
-SGCLIB := $(CODECDIR)/libsgc.a
-SGCLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/SGCSOURCES)
-SGCLIB_OBJ := $(call c2obj, $(SGCLIB_SRC))
-OTHER_SRC += $(SGCLIB_SRC)
-
-$(SGCLIB): $(SGCLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-SGCFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_SGC_TYPE
-ifeq ($(CPU),arm)
- SGCFLAGS += -O3
-else
- SGCFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SGCFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/libvgm.make b/apps/codecs/libgme/libvgm.make
index f0e7cbb598..e69de29bb2 100644
--- a/apps/codecs/libgme/libvgm.make
+++ b/apps/codecs/libgme/libvgm.make
@@ -1,21 +0,0 @@
-
-# libvgm
-VGMLIB := $(CODECDIR)/libvgm.a
-VGMLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/VGMSOURCES)
-VGMLIB_OBJ := $(call c2obj, $(VGMLIB_SRC))
-OTHER_SRC += $(VGMLIB_SRC)
-
-$(VGMLIB): $(VGMLIB_OBJ)
- $(SILENT)$(shell rm -f $@)
- $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
-
-VGMFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_VGM_TYPE
-ifeq ($(CPU),arm)
- VGMFLAGS += -O3
-else
- VGMFLAGS += -O2
-endif
-
-$(CODECDIR)/libgme/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(VGMFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/nsf/NSFSOURCES b/apps/codecs/libgme/nsf/NSFSOURCES
new file mode 100644
index 0000000000..54b4f82f60
--- /dev/null
+++ b/apps/codecs/libgme/nsf/NSFSOURCES
@@ -0,0 +1,14 @@
+nes_apu.c
+nes_cpu.c
+nes_fds_apu.c
+nes_fme7_apu.c
+nes_namco_apu.c
+nes_oscs.c
+nes_vrc6_apu.c
+nes_vrc7_apu.c
+nsf_cpu.c
+nsf_emu.c
+nsfe_info.c
+blip_buffer.c
+multi_buffer.c
+rom_data.c
diff --git a/apps/codecs/libgme/nsf/libnsf.make b/apps/codecs/libgme/nsf/libnsf.make
new file mode 100644
index 0000000000..644aa7408c
--- /dev/null
+++ b/apps/codecs/libgme/nsf/libnsf.make
@@ -0,0 +1,21 @@
+
+# libnsf
+NSFLIB := $(CODECDIR)/libnsf.a
+NSFLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/nsf/NSFSOURCES)
+NSFLIB_OBJ := $(call c2obj, $(NSFLIB_SRC))
+OTHER_SRC += $(NSFLIB_SRC)
+
+$(NSFLIB): $(NSFLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+NSFFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_NSF_TYPE
+ifeq ($(CPU),arm)
+ NSFFLAGS += -O1
+else
+ NSFFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/nsf/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(NSFFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/sgc/SGCSOURCES b/apps/codecs/libgme/sgc/SGCSOURCES
new file mode 100644
index 0000000000..624d1cb897
--- /dev/null
+++ b/apps/codecs/libgme/sgc/SGCSOURCES
@@ -0,0 +1,7 @@
+sgc_cpu.c
+sgc_emu.c
+sms_apu.c
+z80_cpu.c
+blip_buffer.c
+multi_buffer.c
+rom_data.c
diff --git a/apps/codecs/libgme/sgc/libsgc.make b/apps/codecs/libgme/sgc/libsgc.make
new file mode 100644
index 0000000000..6984cdc4bb
--- /dev/null
+++ b/apps/codecs/libgme/sgc/libsgc.make
@@ -0,0 +1,21 @@
+
+# libsgc
+SGCLIB := $(CODECDIR)/libsgc.a
+SGCLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/sgc/SGCSOURCES)
+SGCLIB_OBJ := $(call c2obj, $(SGCLIB_SRC))
+OTHER_SRC += $(SGCLIB_SRC)
+
+$(SGCLIB): $(SGCLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+SGCFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_SGC_TYPE
+ifeq ($(CPU),arm)
+ SGCFLAGS += -O1
+else
+ SGCFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/sgc/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SGCFLAGS) -c $< -o $@
diff --git a/apps/codecs/libgme/vgm/VGMSOURCES b/apps/codecs/libgme/vgm/VGMSOURCES
new file mode 100644
index 0000000000..32a8b356a1
--- /dev/null
+++ b/apps/codecs/libgme/vgm/VGMSOURCES
@@ -0,0 +1,10 @@
+blip_buffer.c
+multi_buffer.c
+resampler.c
+sms_apu.c
+vgm_emu.c
+ym2612_emu.c
+inflate/bbfuncs.c
+inflate/inflate.c
+inflate/mallocer.c
+inflate/mbreader.c
diff --git a/apps/codecs/libgme/vgm/libvgm.make b/apps/codecs/libgme/vgm/libvgm.make
new file mode 100644
index 0000000000..2ff7f94fab
--- /dev/null
+++ b/apps/codecs/libgme/vgm/libvgm.make
@@ -0,0 +1,21 @@
+
+# libvgm
+VGMLIB := $(CODECDIR)/libvgm.a
+VGMLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/vgm/VGMSOURCES)
+VGMLIB_OBJ := $(call c2obj, $(VGMLIB_SRC))
+OTHER_SRC += $(VGMLIB_SRC)
+
+$(VGMLIB): $(VGMLIB_OBJ)
+ $(SILENT)$(shell rm -f $@)
+ $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
+
+VGMFLAGS = $(filter-out -O%,$(CODECFLAGS)) -fno-strict-aliasing -DGME_VGM_TYPE
+ifeq ($(CPU),arm)
+ VGMFLAGS += -O1
+else
+ VGMFLAGS += -O2
+endif
+
+$(CODECDIR)/libgme/vgm/%.o: $(ROOTDIR)/apps/codecs/libgme/%.c
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(VGMFLAGS) -c $< -o $@