2017-12-24 01:26:58 +00:00
|
|
|
TARGET := retroarch_switch
|
|
|
|
|
|
|
|
DEBUG ?= 0
|
|
|
|
GRIFFIN_BUILD = 0
|
|
|
|
WHOLE_ARCHIVE_LINK = 0
|
|
|
|
|
|
|
|
OBJ :=
|
|
|
|
|
2018-05-23 19:59:47 +00:00
|
|
|
DEFINES := -DSWITCH=1 -U__linux__ -U__linux -DRARCH_INTERNAL -DHAVE_DYNAMIC
|
2017-12-24 01:26:58 +00:00
|
|
|
|
|
|
|
ifeq ($(GRIFFIN_BUILD), 1)
|
|
|
|
OBJ += griffin/griffin.o
|
|
|
|
DEFINES += -DHAVE_GRIFFIN=1 -DHAVE_NEON -DHAVE_MATERIALUI -DHAVE_LIBRETRODB -DHAVE_CC_RESAMPLER
|
|
|
|
DEFINES += -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_RTGA -DWANT_ZLIB
|
2018-05-23 19:59:47 +00:00
|
|
|
DEFINES += -DHAVE_RUNAHEAD -DHAVE_DYNAMIC
|
2017-12-24 01:26:58 +00:00
|
|
|
else
|
|
|
|
HAVE_CC_RESAMPLER = 1
|
2017-12-30 05:02:42 +00:00
|
|
|
HAVE_MENU_COMMON = 1
|
2017-12-24 01:26:58 +00:00
|
|
|
HAVE_RTGA = 1
|
|
|
|
HAVE_RPNG = 1
|
|
|
|
HAVE_RJPEG = 1
|
|
|
|
HAVE_RBMP = 1
|
2017-12-30 05:02:42 +00:00
|
|
|
HAVE_RGUI = 1
|
2017-12-24 01:26:58 +00:00
|
|
|
HAVE_ZLIB = 1
|
|
|
|
HAVE_BUILTINZLIB = 1
|
|
|
|
HAVE_LIBRETRODB = 1
|
|
|
|
HAVE_ZARCH = 0
|
|
|
|
HAVE_MATERIALUI = 0 # enable later?
|
|
|
|
HAVE_XMB = 0
|
|
|
|
HAVE_STATIC_VIDEO_FILTERS = 1
|
|
|
|
HAVE_STATIC_AUDIO_FILTERS = 1
|
2017-12-30 05:02:42 +00:00
|
|
|
HAVE_MENU = 1
|
2018-04-25 20:20:48 +00:00
|
|
|
HAVE_RUNAHEAD = 1
|
2018-05-23 19:59:47 +00:00
|
|
|
HAVE_DYNAMIC = 1
|
2017-12-24 01:26:58 +00:00
|
|
|
|
|
|
|
include Makefile.common
|
2018-12-19 18:14:16 +00:00
|
|
|
CFLAGS += $(DEF_FLAGS)
|
|
|
|
BLACKLIST :=
|
2017-12-24 01:26:58 +00:00
|
|
|
BLACKLIST += input/input_overlay.o
|
2018-12-19 18:14:16 +00:00
|
|
|
BLACKLIST += tasks/task_overlay.o
|
2017-12-24 01:26:58 +00:00
|
|
|
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(strip $(LIBTRANSISTOR_HOME)),)
|
2018-09-15 06:50:08 +00:00
|
|
|
$(error "Please set LIBTRANSISTOR_HOME in your environment. export LIBTRANSISTOR_HOME=<path/to/libtransistor/dist/>")
|
2017-12-24 01:26:58 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
include $(LIBTRANSISTOR_HOME)/libtransistor.mk
|
|
|
|
|
2018-05-07 12:50:00 +00:00
|
|
|
INCDIRS := -I. -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBTRANSISTOR_HOME)/build/sdl2_install/include/SDL2/
|
2017-12-24 01:26:58 +00:00
|
|
|
LIBDIRS := -L.
|
|
|
|
|
|
|
|
TARGETS := $(TARGET).nro
|
|
|
|
|
2018-09-15 06:50:08 +00:00
|
|
|
CFLAGS += $(INCDIRS) $(DEFINES) -Wno-unused-command-line-argument -Werror-implicit-function-declaration
|
2017-12-24 01:26:58 +00:00
|
|
|
|
|
|
|
all: $(TARGETS)
|
|
|
|
|
|
|
|
$(TARGET).nro.so: $(OBJ) libretro_switch.a fs.squashfs.o $(LIBTRANSISTOR_NRO_LIB) $(LIBTRANSISTOR_COMMON_LIBS)
|
|
|
|
$(LD) $(LD_FLAGS) --allow-multiple-definition -o $@ $(OBJ) libretro_switch.a fs.squashfs.o $(LIBTRANSISTOR_NRO_LDFLAGS) -lm
|
|
|
|
|
|
|
|
%.squashfs.o: %.squashfs
|
|
|
|
$(LD) -s -r -b binary -m aarch64elf -T $(LIBTRANSISTOR_HOME)/fs.T -o $@ $<
|
|
|
|
|
|
|
|
fs.squashfs: fs/*
|
|
|
|
mksquashfs $^ $@ -comp lz4 -nopad -noappend
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f $(OBJ) $(TARGET).nro.so $(TARGET).nro
|
|
|
|
|
|
|
|
.PHONY: clean all
|