Fix bug when using separate build directory to create symbolic link
[emu8051.git] / tests / Makefile.am
index 3d47a1d..6caffd7 100644 (file)
@@ -2,22 +2,43 @@
 
 AS51 = asem
 
-SUFFIXES = .hex .asm
+SUFFIXES = .hex .asm .sh
 
-TESTS = \
-    opcodes
+# Do not remove intermediate .hex files
+.SECONDARY:
 
-check_PROGRAMS = mul1.hex mul2.hex orl.hex
+ASM_SRC = \
+    mul1.asm mul2.asm \
+    div.asm \
+    orl.asm anl.asm \
+    mov.asm \
+    timer0.asm timer1.asm timer2.asm
 
-mul1.hex: mul1.asm
-mul2.hex: mul2.asm
-orl.hex: orl.asm
+if RUN_TESTS
 
+TESTS = \
+    mul1.sh mul2.sh \
+    div.sh \
+    orl.sh anl.sh \
+    mov.sh \
+    timer0.sh timer1.sh timer2.sh
+
+# Tell make how to generate a .sh file after a .hex file is generated:
+.hex.sh:
+       @ln -sf $(srcdir)/opcodes.sh $@
+
+# 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) $<
 
-EXTRA_DIST = $(TESTS)
+else
+TESTS =
+endif
+
+EXTRA_DIST = opcodes.sh $(ASM_SRC)
 
-CLEANFILES = *~ *.lst *.log
+CLEANFILES = *~ *.lst *.hex $(TESTS)
 
 MAINTAINERCLEANFILES = Makefile.in