summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile8
-rw-r--r--libblastem.c12
-rw-r--r--util.c5
3 files changed, 23 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index b1fa48a..c0965c3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,6 @@
+#disable built-in rules
+.SUFFIXES :
+
ifndef OS
OS:=$(shell uname -s)
endif
@@ -203,7 +206,7 @@ MAINOBJS=blastem.o system.o genesis.o debug.o gdb_remote.o vdp.o $(RENDEROBJS) i
LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o menu.o xband.o realtec.o \
i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \
- $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o
+ $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o rom.db.o
ifdef NONUKLEAR
CFLAGS+= -DDISABLE_NUKLEAR
@@ -325,6 +328,9 @@ vos_prog_info : vos_prog_info.o vos_program_module.o
%.c : %.cpu cpu_dsl.py
./cpu_dsl.py -d goto $< > $@
+%.db.c : %.db
+ sed $< -e 's/"/\\"/g' -e 's/^\(.*\)$$/"\1\\n"/' -e'1s/^\(.*\)$$/const char $(shell echo $< | tr '.' '_')_data[] = \1/' -e '$$s/^\(.*\)$$/\1;/' > $@
+
%.o : %.S
$(CC) -c -o $@ $<
diff --git a/libblastem.c b/libblastem.c
index 2135e50..997f3ac 100644
--- a/libblastem.c
+++ b/libblastem.c
@@ -397,3 +397,15 @@ void render_free_source(audio_source *src)
void bindings_set_mouse_mode(uint8_t mode)
{
}
+
+extern const char rom_db_data[];
+char *read_bundled_file(char *name, uint32_t *sizeret)
+{
+ if (!strcmp(name, "rom.db")) {
+ *sizeret = strlen(rom_db_data);
+ char *ret = malloc(*sizeret+1);
+ memcpy(ret, rom_db_data, *sizeret + 1);
+ return ret;
+ }
+ return NULL;
+}
diff --git a/util.c b/util.c
index 26dfc9c..4826959 100644
--- a/util.c
+++ b/util.c
@@ -857,6 +857,7 @@ void sort_dir_list(dir_entry *list, size_t num_entries)
#ifdef __ANDROID__
#include <SDL.h>
+#ifndef IS_LIB
char *read_bundled_file(char *name, uint32_t *sizeret)
{
SDL_RWops *rw = SDL_RWFromFile(name, "rb");
@@ -884,6 +885,7 @@ char *read_bundled_file(char *name, uint32_t *sizeret)
SDL_RWclose(rw);
return ret;
}
+#endif
char const *get_config_dir()
{
@@ -897,6 +899,7 @@ char const *get_userdata_dir()
#else
+#ifndef IS_LIB
char *read_bundled_file(char *name, uint32_t *sizeret)
{
#ifdef DATA_PATH
@@ -940,7 +943,7 @@ char *read_bundled_file(char *name, uint32_t *sizeret)
fclose(f);
return ret;
}
-
+#endif
#ifdef _WIN32
char const *get_userdata_dir()