+ $(CC) -o $@ $^ $(LDFLAGS) $(LDLIBS) -Wl,-Map=$@.map
+
+clean: $(PLAT_CLEAN) clean_plugins
+ $(RM) $(TARGET) $(OBJS) $(TARGET).map
+
+ifneq ($(PLUGINS),)
+plugins_: $(PLUGINS)
+
+$(PLUGINS):
+ make -C $(dir $@)
+
+clean_plugins:
+ make -C plugins/gpulib/ clean
+ for dir in $(PLUGINS) ; do \
+ $(MAKE) -C $$(dirname $$dir) clean; done
+else
+plugins_:
+clean_plugins:
+endif
+
+# ----------- release -----------
+
+VER ?= $(shell git describe master)
+
+ifeq "$(PLATFORM)" "generic"
+OUT = pcsx_rearmed_$(VER)
+
+rel: pcsx $(PLUGINS) \
+ frontend/pandora/skin readme.txt COPYING
+ rm -rf $(OUT)
+ mkdir -p $(OUT)/plugins
+ mkdir -p $(OUT)/bios
+ cp -r $^ $(OUT)/
+ mv $(OUT)/*.so* $(OUT)/plugins/
+ zip -9 -r $(OUT).zip $(OUT)
+endif
+
+ifeq "$(PLATFORM)" "pandora"
+PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
+
+rel: pcsx $(PLUGINS) \
+ frontend/pandora/pcsx.sh frontend/pandora/pcsx.pxml.templ frontend/pandora/pcsx.png \
+ frontend/pandora/picorestore frontend/pandora/skin readme.txt COPYING
+ rm -rf out
+ mkdir -p out/plugins
+ cp -r $^ out/
+ sed -e 's/%PR%/$(VER)/g' out/pcsx.pxml.templ > out/pcsx.pxml
+ rm out/pcsx.pxml.templ
+ mv out/*.so out/plugins/
+ mv out/plugins/gpu_unai.so out/plugins/gpuPCSX4ALL.so
+ mv out/plugins/gpu_gles.so out/plugins/gpuGLES.so
+ mv out/plugins/gpu_peops.so out/plugins/gpuPEOPS.so
+ $(PND_MAKE) -p pcsx_rearmed_$(VER).pnd -d out -x out/pcsx.pxml -i frontend/pandora/pcsx.png -c
+endif
+
+ifeq "$(PLATFORM)" "caanoo"
+PLAT_CLEAN = caanoo_clean