+OBJS += libpcsxcore/gte.o libpcsxcore/gte_nf.o libpcsxcore/gte_divider.o
+ifeq "$(ARCH)" "arm"
+OBJS += libpcsxcore/gte_arm.o
+endif
+ifeq "$(HAVE_NEON)" "1"
+OBJS += libpcsxcore/gte_neon.o
+endif
+libpcsxcore/cdrom.o libpcsxcore/misc.o: CFLAGS += -Wno-pointer-sign
+libpcsxcore/misc.o libpcsxcore/psxbios.o: CFLAGS += -Wno-nonnull
+
+# dynarec
+ifndef NO_NEW_DRC
+OBJS += libpcsxcore/new_dynarec/new_dynarec.o libpcsxcore/new_dynarec/linkage_arm.o
+OBJS += libpcsxcore/new_dynarec/pcsxmem.o
+endif
+OBJS += libpcsxcore/new_dynarec/emu_if.o
+libpcsxcore/new_dynarec/new_dynarec.o: libpcsxcore/new_dynarec/assem_arm.c \
+ libpcsxcore/new_dynarec/pcsxmem_inline.c
+libpcsxcore/new_dynarec/new_dynarec.o: CFLAGS += -Wno-all -Wno-pointer-sign
+ifdef DRC_DBG
+libpcsxcore/new_dynarec/emu_if.o: CFLAGS += -D_FILE_OFFSET_BITS=64
+CFLAGS += -DDRC_DBG
+endif
+
+# spu
+OBJS += plugins/dfsound/dma.o plugins/dfsound/freeze.o \
+ plugins/dfsound/registers.o plugins/dfsound/spu.o
+plugins/dfsound/spu.o: plugins/dfsound/adsr.c plugins/dfsound/reverb.c \
+ plugins/dfsound/xa.c
+ifeq "$(HAVE_NEON)" "1"
+OBJS += plugins/dfsound/arm_utils.o
+endif
+ifeq "$(USE_OSS)" "1"
+plugins/dfsound/%.o: CFLAGS += -DUSEOSS
+OBJS += plugins/dfsound/oss.o
+endif
+ifeq "$(USE_ALSA)" "1"
+plugins/dfsound/%.o: CFLAGS += -DUSEALSA
+OBJS += plugins/dfsound/alsa.o
+LDFLAGS += -lasound
+endif
+
+# gpu
+# note: code is not safe for strict-aliasing? (Castlevania problems)
+plugins/dfxvideo/%.o: CFLAGS += -fno-strict-aliasing
+OBJS += plugins/dfxvideo/gpu.o
+plugins/dfxvideo/gpu.o: plugins/dfxvideo/fps.c plugins/dfxvideo/prim.c \
+ plugins/dfxvideo/gpu.c plugins/dfxvideo/soft.c
+ifdef X11
+LDFLAGS += -lX11 -lXv
+OBJS += plugins/dfxvideo/draw.o
+else
+OBJS += plugins/dfxvideo/draw_fb.o
+endif
+
+# cdrcimg
+OBJS += plugins/cdrcimg/cdrcimg.o
+
+# dfinput
+OBJS += plugins/dfinput/main.o plugins/dfinput/pad.o plugins/dfinput/guncon.o
+