Build system flexibility to allow moar modular tests

This commit is contained in:
Aaron Culliney 2014-03-23 14:21:31 -07:00
parent a95354d87c
commit a1e952984f
2 changed files with 36 additions and 17 deletions

View File

@ -27,27 +27,44 @@ noinst_PROGRAMS = genfont
bin_PROGRAMS = apple2ix
# NOTE : selectively enabled through configuration process ...
EXTRA_apple2ix_SOURCES = \
VM_SRC = \
src/asm386/glue.S src/asm386/cpu.S src/asm386/display.S \
src/asm386/memory.S \
\
src/meta/debug.l src/meta/debugger.c src/meta/opcodes.c \
\
src/video/xvideo.c \
\
src/asm386/memory.S
INTERFACE_CLASSIC_SRC = \
src/interface.c
VIDEO_SRC = \
src/video/xvideo.c
AUDIO_SRC = \
src/audio/soundcore.c src/audio/soundcore-openal.c src/audio/speaker.c \
src/audio/win-shim.c src/audio/alhelpers.c src/audio/mockingboard.c \
src/audio/AY8910.c
apple2ix_SOURCES = src/font.c src/misc.c src/vidsup.c src/interface.c \
META_SRC = \
src/meta/debug.l src/meta/debugger.c src/meta/opcodes.c
# NOTE : selectively enabled through configuration process ...
EXTRA_apple2ix_SOURCES = \
$(VM_SRC) \
\
$(INTERFACE_CLASSIC_SRC) \
\
$(VIDEO_SRC) \
\
$(AUDIO_SRC) \
\
$(META_SRC)
apple2ix_SOURCES = src/font.c src/misc.c src/vidsup.c \
src/timing.c src/zlib-helpers.c src/joystick.c src/keys.c src/prefs.c \
src/disk.c src/cpu-supp.c
apple2ix_CFLAGS = @AM_CFLAGS@ @X_CFLAGS@
apple2ix_LDFLAGS = @ARCHOS_HACK_LDFLAGS@
apple2ix_LDADD = @ASM_O@ @VIDEO_O@ @AUDIO_O@ @META_O@ @X_LIBS@
apple2ix_DEPENDENCIES = @ASM_O@ @VIDEO_O@ @AUDIO_O@ @META_O@
apple2ix_LDADD = @VM_O@ @INTERFACE_O@ @VIDEO_O@ @AUDIO_O@ @META_O@ @X_LIBS@
apple2ix_DEPENDENCIES = @VM_O@ @INTERFACE_O@ @VIDEO_O@ @AUDIO_O@ @META_O@
genfont_SOURCES = src/genfont.c
@ -68,10 +85,9 @@ A2_TEST_CFLAGS = -DTESTING=1 -Isrc/greatest
TESTS = testcpu
check_PROGRAMS = testcpu
testcpu_SOURCES = src/test/testcpu.c $(A2_TEST_SOURCES)
testcpu_SOURCES = src/test/testcpu.c $(A2_TEST_SOURCES) $(EXTRA_apple2ix_SOURCES)
testcpu_CFLAGS = $(apple2ix_CFLAGS) $(A2_TEST_CFLAGS)
testcpu_LDFLAGS = $(apple2ix_LDFLAGS)
testcpu_LDADD = $(apple2ix_LDADD)
testcpu_DEPENDENCIES = $(apple2ix_DEPENDENCIES)
###############################################################################

View File

@ -5,7 +5,7 @@ AC_INIT([apple2ix], [0.8])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_CONFIG_HEADER(src/config.h)
dnl AM_CONFIG_HEADER(src/config.h) -- disable config.h because it makes it difficult/impossible to do modular builds for the test suite
AC_PROG_CC([clang gcc])
AM_PROG_CC_C_O dnl apparently required for custom font.c target?
@ -76,8 +76,8 @@ dnl at this point we believe arch/os is good ...
ARCHOS_HACK_LDFLAGS="-L/usr/lib/i386-linux-gnu -L/lib/i386-linux-gnu"
AC_SUBST(ARCHOS_HACK_LDFLAGS)
ASM_O="src/asm386/glue.o src/asm386/cpu.o src/asm386/display.o src/asm386/memory.o"
AC_SUBST(ASM_O)
VM_O="src/asm386/glue.o src/asm386/cpu.o src/asm386/display.o src/asm386/memory.o"
AC_SUBST(VM_O)
dnl ---------------------------------------------------------------------------
@ -173,13 +173,16 @@ dnl ])
dnl ---------------------------------------------------------------------------
dnl Debugger ...
dnl Debugger & classic interface ...
AC_ARG_ENABLE([debugger], AS_HELP_STRING([--disable-debugger], [Disable 6502 debugging console]), [], [
AC_DEFINE(DEBUGGER, 1, [Enable 6502 debugger module])
META_O="src/meta/debug.o src/meta/debugger.o src/meta/opcodes.o"
])
AC_SUBST(META_O)
INTERFACE_O="src/interface.o"
AC_SUBST(INTERFACE_O)
AC_DEFINE(INTERFACE_CLASSIC, 1, [Use the classic menu interface])
dnl ---------------------------------------------------------------------------
dnl Misc ...