mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-09-28 16:54:51 +00:00
REFACTOR : Incremental changes to NDK builds
This commit is contained in:
parent
0d7e81c7d4
commit
43fa9c9357
@ -10,9 +10,9 @@ include $(COMMON_SOURCES_MK)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Android build config
|
||||
|
||||
LOCAL_MODULE := apple2ix
|
||||
LOCAL_MODULE := libapple2ix
|
||||
LOCAL_SRC_FILES := jnihooks.c
|
||||
LOCAL_CFLAGS := $(APPLE2_BASE_CFLAGS) -DHEADLESS=0 -DVIDEO_OPENGL=1 -DDEBUGGER=0
|
||||
LOCAL_CFLAGS := $(APPLE2_BASE_CFLAGS) -DHEADLESS=0
|
||||
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lz
|
||||
|
||||
# Add assembly files first ... mostly for the benefit of the ARM assembler ...
|
||||
|
@ -1,9 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
package_id="org.deadc0de.apple2"
|
||||
apple2_src_path=../../src
|
||||
glue_srcs="$apple2_src_path/disk.c $apple2_src_path/misc.c $apple2_src_path/display.c $apple2_src_path/vm.c $apple2_src_path/cpu-supp.c"
|
||||
do_load=0
|
||||
do_debug=0
|
||||
|
||||
usage() {
|
||||
echo "$0 [--load|--debug]"
|
||||
exit 0
|
||||
}
|
||||
|
||||
while test "x$1" != "x"; do
|
||||
case "$1" in
|
||||
"--debug")
|
||||
do_load=1
|
||||
do_debug=1
|
||||
;;
|
||||
|
||||
"--load")
|
||||
do_load=1
|
||||
do_debug=0
|
||||
;;
|
||||
|
||||
"-h")
|
||||
usage
|
||||
;;
|
||||
|
||||
"--help")
|
||||
usage
|
||||
;;
|
||||
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set -x
|
||||
|
||||
apple2_src_path=../../src
|
||||
glue_srcs="$apple2_src_path/disk.c $apple2_src_path/misc.c $apple2_src_path/display.c $apple2_src_path/vm.c $apple2_src_path/cpu-supp.c"
|
||||
/bin/rm Android.mk
|
||||
|
||||
if test "$(basename $0)" = "clean" ; then
|
||||
/bin/rm $apple2_src_path/rom.c
|
||||
@ -11,26 +45,17 @@ if test "$(basename $0)" = "clean" ; then
|
||||
/bin/rm $apple2_src_path/x86/glue.S
|
||||
/bin/rm $apple2_src_path/arm/glue.S
|
||||
|
||||
ln -s apple2ix.mk Android.mk
|
||||
ndk-build -f apple2ix.mk clean
|
||||
/bin/rm Android.mk
|
||||
# considered dangerous
|
||||
/bin/rm -rf ../bin
|
||||
/bin/rm -rf ../libs
|
||||
/bin/rm -rf ../gen
|
||||
/bin/rm -rf ../obj
|
||||
|
||||
ln -s testcpu.mk Android.mk
|
||||
ndk-build -f testcpu.mk clean
|
||||
/bin/rm Android.mk
|
||||
|
||||
ln -s testvm.mk Android.mk
|
||||
ndk-build -f testvm.mk clean
|
||||
/bin/rm Android.mk
|
||||
|
||||
ln -s testdisplay.mk Android.mk
|
||||
ndk-build -f testdisplay.mk clean
|
||||
/bin/rm Android.mk
|
||||
|
||||
ln -s testdisk.mk Android.mk
|
||||
ndk-build -f testdisk.m clean
|
||||
/bin/rm Android.mk
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test "$(basename $0)" = "uninstall" ; then
|
||||
adb uninstall $package_id
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -52,31 +77,28 @@ $apple2_src_path/arm/genglue $glue_srcs > $apple2_src_path/arm/glue.S
|
||||
|
||||
if test "$(basename $0)" = "testcpu" ; then
|
||||
ln -s testcpu.mk Android.mk
|
||||
ndk-build V=1 NDK_DEBUG=1 && ant -f ../build.xml debug
|
||||
elif test "$(basename $0)" = "testvm" ; then
|
||||
ln -s testvm.mk Android.mk
|
||||
ndk-build V=1 NDK_DEBUG=1 && ant -f ../build.xml debug
|
||||
elif test "$(basename $0)" = "testdisplay" ; then
|
||||
ln -s testdisplay.mk Android.mk
|
||||
ndk-build V=1 NDK_DEBUG=1 && ant -f ../build.xml debug
|
||||
elif test "$(basename $0)" = "testdisk" ; then
|
||||
ln -s testdisk.mk Android.mk
|
||||
ndk-build V=1 NDK_DEBUG=1 && ant -f ../build.xml debug
|
||||
else
|
||||
ln -s apple2ix.mk Android.mk
|
||||
ndk-build V=1 NDK_DEBUG=1 && ant -f ../build.xml debug
|
||||
fi
|
||||
|
||||
if test "$(basename $0)" = "run" ; then
|
||||
ant -f ../build.xml install && \
|
||||
adb shell am start -a android.intent.action.MAIN -n org.deadc0de.apple2/.Apple2Activity
|
||||
ndk-build V=1 NDK_DEBUG=1 && \
|
||||
ant -f ../build.xml debug
|
||||
|
||||
if test "x$do_load" = "x1" ; then
|
||||
ant -f ../build.xml debug install
|
||||
fi
|
||||
|
||||
if test "$(basename $0)" = "debug" ; then
|
||||
echo "TODO FIXME ..."
|
||||
if test "x$do_debug" = "x1" ; then
|
||||
( cd .. && ndk-gdb.py --force --start )
|
||||
elif test "x$do_load" = "x1" ; then
|
||||
adb shell am start -a android.intent.action.MAIN -n $package_id/.Apple2Activity
|
||||
fi
|
||||
|
||||
/bin/rm Android.mk
|
||||
|
||||
set +x
|
||||
|
||||
|
@ -27,6 +27,37 @@ int main(int argc, char **argv) {
|
||||
|
||||
void Java_org_deadc0de_apple2_Apple2Activity_nativeOnCreate(JNIEnv *env, jobject obj) {
|
||||
LOG("%s", "native onCreate...");
|
||||
|
||||
#if !TESTING
|
||||
// TODO ...
|
||||
#else
|
||||
char *local_argv[] = {
|
||||
"-f",
|
||||
NULL
|
||||
};
|
||||
int local_argc = 0;
|
||||
for (char **p = &local_argv[0]; *p != NULL; p++) {
|
||||
++local_argc;
|
||||
}
|
||||
|
||||
#if defined(TEST_CPU)
|
||||
extern int test_cpu(int, char *[]);
|
||||
test_cpu(local_argc, local_argv);
|
||||
#elif defined(TEST_VM)
|
||||
extern int test_vm(int, char *[]);
|
||||
test_vm(local_argc, local_argv);
|
||||
#elif defined(TEST_DISPLAY)
|
||||
extern int test_display(int, char *[]);
|
||||
test_display(local_argc, local_argv);
|
||||
#elif defined(TEST_DISK)
|
||||
extern int test_disk(int, char *[]);
|
||||
test_disk(local_argc, local_argv);
|
||||
#else
|
||||
# error "OOPS, no tests specified"
|
||||
#endif
|
||||
|
||||
exit(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Java_org_deadc0de_apple2_Apple2Activity_nativeOnResume(JNIEnv *env, jobject obj) {
|
||||
|
@ -24,12 +24,12 @@ APPLE2_AUDIO_SRC = \
|
||||
|
||||
APPLE2_META_SRC = \
|
||||
$(APPLE2_SRC_PATH)/meta/debug.c $(APPLE2_SRC_PATH)/meta/debugger.c $(APPLE2_SRC_PATH)/meta/opcodes.c \
|
||||
$(APPLE2_SRC_PATH)/test/sha.c
|
||||
$(APPLE2_SRC_PATH)/test/sha1.c
|
||||
|
||||
APPLE2_MAIN_SRC = \
|
||||
$(APPLE2_SRC_PATH)/font.c $(APPLE2_SRC_PATH)/rom.c $(APPLE2_SRC_PATH)/misc.c $(APPLE2_SRC_PATH)/display.c $(APPLE2_SRC_PATH)/vm.c \
|
||||
$(APPLE2_SRC_PATH)/timing.c $(APPLE2_SRC_PATH)/zlib-helpers.c $(APPLE2_SRC_PATH)/joystick.c $(APPLE2_SRC_PATH)/keys.c \
|
||||
$(APPLE2_SRC_PATH)/disk.c $(APPLE2_SRC_PATH)/cpu-supp.c
|
||||
|
||||
APPLE2_BASE_CFLAGS := -DAPPLE2IX=1 -DPACKAGE_NAME="\"$(PACKAGE_NAME)\"" -DCONFIG_DATADIR="\"/data/data/$(PACKAGE_IDENTIFIER)\"" -std=gnu11 -I$(APPLE2_SRC_PATH)
|
||||
APPLE2_BASE_CFLAGS := -DAPPLE2IX=1 -DVIDEO_OPENGL=1 -DDEBUGGER=1 -DPACKAGE_NAME="\"$(PACKAGE_NAME)\"" -DCONFIG_DATADIR="\"/data/data/$(PACKAGE_IDENTIFIER)\"" -std=gnu11 -I$(APPLE2_SRC_PATH)
|
||||
|
||||
|
@ -4,15 +4,15 @@ include $(CLEAR_VARS)
|
||||
|
||||
PACKAGE_IDENTIFIER := "org.deadc0de.apple2"
|
||||
PACKAGE_NAME := "apple2ix"
|
||||
COMMON_SOURCES_MK := sources.mk
|
||||
COMMON_SOURCES_MK := $(LOCAL_PATH)/sources.mk
|
||||
include $(COMMON_SOURCES_MK)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Android build config
|
||||
|
||||
LOCAL_MODULE := apple2ix
|
||||
LOCAL_SRC_FILES := $(APPLE2_SRC_PATH)/test/testcommon.c $(APPLE2_SRC_PATH)/test/testcpu.c
|
||||
LOCAL_CFLAGS := $(APPLE2_BASE_CFLAGS) -DHEADLESS=1 -DDEBUGGER=1
|
||||
LOCAL_MODULE := libapple2ix
|
||||
LOCAL_SRC_FILES := jnihooks.c $(APPLE2_SRC_PATH)/test/testcommon.c $(APPLE2_SRC_PATH)/test/testcpu.c
|
||||
LOCAL_CFLAGS := $(APPLE2_BASE_CFLAGS) -DTEST_CPU -DTESTING=1 -DHEADLESS=1
|
||||
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lz
|
||||
|
||||
# Add assembly files first ... mostly for the benefit of the ARM assembler ...
|
||||
@ -22,11 +22,11 @@ else
|
||||
LOCAL_SRC_FILES += $(APPLE2_ARM_SRC)
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES += $(APPLE2_MAIN_SRC) $(APPLE2_META_SRC)
|
||||
LOCAL_SRC_FILES += $(APPLE2_MAIN_SRC) $(APPLE2_META_SRC) $(APPLE2_VIDEO_SRC)
|
||||
|
||||
# Build a shared library and let Java/Dalvik drive
|
||||
#include $(BUILD_SHARED_LIBRARY)
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
# --OR-- Build an executable so native can drive this show
|
||||
include $(BUILD_EXECUTABLE)
|
||||
#include $(BUILD_EXECUTABLE)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user