ifndef DEBUG
CFLAGS += -O2 -DNDEBUG
endif
+ifeq ($(DEBUG_ASAN), 1)
+CFLAGS += -fsanitize=address
+endif
CFLAGS += -DP_HAVE_MMAP=$(if $(NO_MMAP),0,1) \
-DP_HAVE_PTHREAD=$(if $(NO_PTHREAD),0,1) \
-DP_HAVE_POSIX_MEMALIGN=$(if $(NO_POSIX_MEMALIGN),0,1) \
CC_LINK ?= $(CC)
CC_AS ?= $(CC)
LDFLAGS += $(MAIN_LDFLAGS)
+ifeq ($(DEBUG_ASAN), 1)
+LDFLAGS += -static-libasan
+endif
EXTRA_LDFLAGS ?= -Wl,-Map=$@.map
LDLIBS += $(MAIN_LDLIBS)
ifdef PCNT
OBJS += plugins/dfsound/arm_utils.o
endif
ifeq "$(HAVE_C64_TOOLS)" "1"
-plugins/dfsound/spu.o: CFLAGS += -DC64X_DSP
+plugins/dfsound/%.o: CFLAGS += -DC64X_DSP -DWANT_THREAD_CODE
plugins/dfsound/spu.o: plugins/dfsound/spu_c64x.c
frontend/menu.o: CFLAGS += -DC64X_DSP
endif
plugins/dfxvideo/gpulib_if.o: plugins/dfxvideo/prim.c plugins/dfxvideo/soft.c
OBJS += plugins/dfxvideo/gpulib_if.o
endif
-ifeq "$(BUILTIN_GPU)" "unai"
-OBJS += plugins/gpu_unai/gpulib_if.o
+ifeq "$(BUILTIN_GPU)" "unai_old"
+OBJS += plugins/gpu_unai_old/gpulib_if.o
ifeq "$(ARCH)" "arm"
-OBJS += plugins/gpu_unai/gpu_arm.o
+OBJS += plugins/gpu_unai_old/gpu_arm.o
endif
-plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED -O3
+plugins/gpu_unai_old/gpulib_if.o: CFLAGS += -DREARMED -O3
CC_LINK = $(CXX)
endif
-ifeq "$(BUILTIN_GPU)" "senquack"
-OBJS += plugins/gpu_senquack/gpulib_if.o
+ifeq "$(BUILTIN_GPU)" "unai"
+OBJS += plugins/gpu_unai/gpulib_if.o
ifeq "$(ARCH)" "arm"
-OBJS += plugins/gpu_senquack/gpu_arm.o
+OBJS += plugins/gpu_unai/gpu_arm.o
endif
-plugins/gpu_senquack/gpulib_if.o: CFLAGS += -DREARMED -O3
+plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED -DUSE_GPULIB=1 -O3
CC_LINK = $(CXX)
endif
frontend/libpicofe/linux/plat.o: CFLAGS += -DPANDORA
USE_PLUGIN_LIB = 1
USE_FRONTEND = 1
+CFLAGS += -gdwarf-3 -ffunction-sections -fdata-sections
+LDFLAGS += -Wl,--gc-sections
endif
ifeq "$(PLATFORM)" "caanoo"
OBJS += frontend/libpicofe/gp2x/in_gp2x.o frontend/warm/warm.o
target_: $(TARGET)
$(TARGET): $(OBJS)
- $(CC_LINK) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(EXTRA_LDFLAGS)
+ $(CC_LINK) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(EXTRA_LDFLAGS)
clean: $(PLAT_CLEAN) clean_plugins
$(RM) $(TARGET) $(OBJS) $(TARGET).map frontend/revision.h
plugins_: $(PLUGINS)
$(PLUGINS):
- make -C $(dir $@)
+ $(MAKE) -C $(dir $@)
clean_plugins:
- make -C plugins/gpulib/ clean
+ $(MAKE) -C plugins/gpulib/ clean
for dir in $(PLUGINS) ; do \
$(MAKE) -C $$(dirname $$dir) clean; done
else