From 5088955838916fe92d049203b28c1343a0509f10 Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Sun, 1 Dec 2013 20:06:29 -0500 Subject: [PATCH] Change way tests are enabled/disabled by asem presence --- Makefile.am | 6 +----- configure.ac | 26 ++++++-------------------- tests/Makefile.am | 34 ++++++++++++++++++++-------------- 3 files changed, 27 insertions(+), 39 deletions(-) diff --git a/Makefile.am b/Makefile.am index 89723db..0304f0a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,11 +2,7 @@ AUTOMAKE_OPTIONS = gnu -SUBDIRS = src data doc - -if RUN_TESTS -SUBDIRS += tests -endif +SUBDIRS = src data doc tests ## We want these in the dist tarball EXTRA_DIST = autogen.sh \ diff --git a/configure.ac b/configure.ac index c4be40f..da45798 100644 --- a/configure.ac +++ b/configure.ac @@ -47,31 +47,17 @@ fi AM_CONDITIONAL([USE_GTK], [test x${ac_cv_enable_gui} = xyes]) -dnl Check if tests are enabled (disabled by default) -AC_ARG_ENABLE([tests], - [AS_HELP_STRING([--enable-tests],[Run test suite])], - [run_tests=${enableval}], - [run_tests="no"]) - -dnl If tests are enabled, try to locate asem 8051 compiler -if test x"${run_tests}" = xyes; then - dnl Tests for 8051 assembler to generate hex test files - dnl TODO: add argument to specify location of asem executable... - AC_CHECK_PROG(ASEM_CHECK,asem,yes) - if test x"$ASEM_CHECK" != x"yes" ; then - AC_MSG_ERROR([Please install asem (http://plit.de/asem-51) to run test suite.]) - fi +dnl Try to locate asem 8051 compiler to generate test files (.hex) +AC_CHECK_PROG(ASEM_CHECK,asem,yes) +if test x"$ASEM_CHECK" != x"yes" ; then + AC_MSG_WARN([Please install asem (http://plit.de/asem-51) to run test suite.]) fi -AM_CONDITIONAL([RUN_TESTS],[test "x$run_tests" = "xyes"]) +AM_CONDITIONAL([RUN_TESTS],[test x"$ASEM_CHECK" = x"yes"]) AC_SUBST(CFLAGS) AC_SUBST(LIBS) AC_SUBST(ac_aux_dir) dnl Creating output file(s) -AC_OUTPUT(Makefile src/Makefile data/Makefile doc/Makefile) - -if test x"${run_tests}" = xyes; then - AC_OUTPUT(tests/Makefile) -fi +AC_OUTPUT(Makefile src/Makefile data/Makefile doc/Makefile tests/Makefile) diff --git a/tests/Makefile.am b/tests/Makefile.am index 147846b..82863a6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,7 +4,18 @@ AS51 = asem SUFFIXES = .hex .asm .sh -# Should find a way to automatically generate each symlink here: +# Do not remove intermediate .hex files +.SECONDARY: + +ASM_SRC = \ + mul1.asm mul2.asm \ + div.asm \ + orl.asm anl.asm \ + mov.asm \ + timer0.asm timer1.asm timer2.asm + +if RUN_TESTS + TESTS = \ mul1.sh mul2.sh \ div.sh \ @@ -12,25 +23,20 @@ TESTS = \ mov.sh \ timer0.sh timer1.sh timer2.sh -mul1.sh: mul1.hex -mul2.sh: mul2.hex -div.sh: div.hex -orl.sh: orl.hex -anl.sh: anl.hex -mov.sh: mov.hex -timer0.sh: timer0.hex -timer1.sh: timer1.hex -timer2.sh: timer2.hex - # Tell make how to generate a .sh file after a .hex file is generated: .hex.sh: - ln -sf opcodes.sh $@ + @ln -sf opcodes.sh $@ -# Tell make how to generate a .hex file from a .asm source file: +# Tell make how to generate a .hex file from a .asm source file. +# Warning: make distcheck will fail because asem doesn't have option to specify +# output filename (and path): .asm.hex: $(AS51) $< +else +TESTS = +endif -EXTRA_DIST = $(TESTS) *.asm *.hex +EXTRA_DIST = opcodes.sh $(ASM_SRC) CLEANFILES = *~ *.lst *.hex $(TESTS) -- 2.20.1