.SILENT:
CC = @CC@
+CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ -DNO_VARARGS
# support VPATH:
# Each directory under ports/ is used as a port name. Each port is tested.
# Each port must have a spec.mk which describes how to build the object
# files and how to run the emulator.
-ALL_PORTS = $(filter-out .svn xa51 z80 gbz80 pic16 pic14,$(notdir $(wildcard $(PORTS_DIR)/*)))
+ALL_PORTS = $(filter-out .svn xa51 z80 gbz80 pic16 pic14 mcs51-common,$(notdir $(wildcard $(PORTS_DIR)/*)))
# These ports will be cleaned with 'make clean'
-CLEAN_PORTS = $(filter-out .svn,$(notdir $(wildcard $(PORTS_DIR)/*)))
+CLEAN_PORTS = $(filter-out .svn mcs51-common,$(notdir $(wildcard $(PORTS_DIR)/*)))
MAKE_LIBRARY =
$(MAKE) test-port PORT=gbz80
# Helper rule for testing the mcs51 port only
-test-mcs51:
- $(MAKE) test-port PORT=mcs51
+test-mcs51: test-mcs51-small test-mcs51-medium test-mcs51-large test-mcs51-stack-auto test-mcs51-xstack-auto
+
+test-mcs51-small:
+ $(MAKE) test-port PORT=mcs51-small
test-mcs51-medium:
$(MAKE) test-port PORT=mcs51-medium
PORT_RESULTS = $(ALL_TESTS:$(TESTS_DIR)/%.c=$(PORT_RESULTS_DIR)/%.out)
SDCC_EXTRA_DIR = $(top_builddir)/../sdcc-extra
-INC_DIR = $(top_srcdir)/device/include
# Defaults. Override in spec.mk if required.
# Path to SDCC
-SDCC = $(top_builddir)/bin/sdcc
+ifdef SDCC_BIN_PATH
+ SDCC = $(SDCC_BIN_PATH)/sdcc
+else
+ SDCC = $(top_builddir)/bin/sdcc
+ INC_DIR ?= $(top_srcdir)/device/include
+endif
# Base flags.
SDCCFLAGS += --fverbose-asm -DNO_VARARGS
# Extension of object intermediate files
make_library: $(MAKE_LIBRARY)
-SDCCFLAGS += -I$(srcdir)/fwk/include -I$(srcdir)/tests -I$(INC_DIR)
+SDCCFLAGS += -I$(srcdir)/fwk/include -I$(srcdir)/tests
+ifdef INC_DIR
+ SDCCFLAGS += -I$(INC_DIR)
+endif
# List of intermediate files to keep. Pretty much keep everything as
# disk space is free.