-# ----------- release -----------
-
-VER ?= $(shell head -n 1 platform/common/version.h | \
- sed 's/.*"\(.*\)\.\(.*\)".*/\1\2/g')
-
-ifeq "$(PLATFORM)" "pandora"
-
-PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
-
-/tmp/readme.txt: tools/textfilter platform/base_readme.txt
- tools/textfilter platform/base_readme.txt $@ PANDORA
-
-/tmp/PicoDrive.pxml: platform/pandora/PicoDrive.pxml.template
- platform/pandora/make_pxml.sh $^ $@
+tools/textfilter: tools/textfilter.c
+ make -C tools/ textfilter
+
+.s.o:
+ $(CC) $(CFLAGS) -c $< -o $@
+
+.S.o:
+ $(CC) $(CFLAGS) -c $< -o $@
+
+# special flags - perhaps fix this someday instead?
+pico/draw.o: CFLAGS += -fno-strict-aliasing
+pico/draw2.o: CFLAGS += -fno-strict-aliasing
+pico/mode4.o: CFLAGS += -fno-strict-aliasing
+pico/cd/memory.o: CFLAGS += -fno-strict-aliasing
+pico/cd/cd_file.o: CFLAGS += -fno-strict-aliasing
+pico/cd/pcm.o: CFLAGS += -fno-strict-aliasing
+pico/cd/LC89510.o: CFLAGS += -fno-strict-aliasing
+pico/cd/gfx_cd.o: CFLAGS += -fno-strict-aliasing
+
+# fame needs ~2GB of RAM to compile on gcc 4.8
+# on x86, this is reduced by ~300MB when debug info is off (but not on ARM)
+# not using O3 and -fno-expensive-optimizations seems to also help, but you may
+# want to remove this stuff for better performance if your compiler can handle it
+ifndef DEBUG
+cpu/fame/famec.o: CFLAGS += -g0 -O2 -fno-expensive-optimizations
+endif