# default stuff goes here, so that config can override
TARGET ?= pcsx
-CFLAGS += -Wall -ggdb -Iinclude -ffast-math
-ifndef DEBUG
+CFLAGS += -Wall -Iinclude -ffast-math
+ifeq ($(DEBUG), 1)
+CFLAGS += -O0 -ggdb
+else
CFLAGS += -O2 -DNDEBUG
endif
CXXFLAGS += $(CFLAGS)
ifeq "$(PLATFORM)" "libretro"
OBJS += frontend/libretro.o
CFLAGS += -DFRONTEND_SUPPORTS_RGB565
+CFLAGS += -DHAVE_LIBRETRO
ifeq ($(MMAP_WIN32),1)
OBJS += libpcsxcore/memmap_win32.o
%.o: %.S
$(CC_AS) $(CFLAGS) -c $^ -o $@
+%.o: %.cpp
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
+
+
target_: $(TARGET)
$(TARGET): $(OBJS)
+ifeq ($(STATIC_LINKING), 1)
+ $(AR) rcs $@ $(OBJS)
+else
$(CC_LINK) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(EXTRA_LDFLAGS)
+endif
clean: $(PLAT_CLEAN) clean_plugins
$(RM) $(TARGET) $(OBJS) $(TARGET).map frontend/revision.h