You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ag...@apache.org on 2020/02/24 21:37:40 UTC
[incubator-nuttx] 02/03: Extend revised ZDS-II support to z8 and
z16f
This is an automated email from the ASF dual-hosted git repository.
aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit e6f545beab4e6cfcbe12e1e8bf26c1fcf5b1977d
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Mon Feb 24 13:54:37 2020 -0600
Extend revised ZDS-II support to z8 and z16f
* tools/zds/zds_Config.mk: Move boards/z80/ez80/scripts/eZ80_Config.mk to tools/zds/zds_Config.mk where it can be shared by other ZDS-II platforms.
* boards/z16/z16f: Duplicate changes for new ZDS-II support from ez80
* boards/z80/z8: Duplicate changes for new ZDS-II support from ez80
* arch/z16/src/z16f/Toolchain.defs: Create required Toolchain.defs file for Z16f
---
arch/z16/src/z16f/Toolchain.defs | 118 +++++++++
arch/z80/src/z8/Toolchain.defs | 118 ++++++++-
boards/z16/z16f/z16f2800100zcog/scripts/Make.defs | 152 +----------
boards/z80/ez80/ez80f910200kitg/scripts/Make.defs | 2 +-
boards/z80/ez80/ez80f910200zco/scripts/Make.defs | 2 +-
boards/z80/ez80/makerlisp/scripts/Make.defs | 2 +-
boards/z80/ez80/z20x/scripts/Make.defs | 2 +-
.../z80/z8/z8encore000zco/configs/ostest/Make.defs | 287 ---------------------
.../z8encore000zco}/scripts/Make.defs | 31 ++-
.../{configs/ostest => scripts}/Make.defs | 181 +------------
tools/zds/README.txt | 5 +
.../eZ80_Config.mk => tools/zds/zds_Config.mk | 6 +-
tools/zds/zdsar.c | 4 +-
13 files changed, 273 insertions(+), 637 deletions(-)
diff --git a/arch/z16/src/z16f/Toolchain.defs b/arch/z16/src/z16f/Toolchain.defs
new file mode 100644
index 0000000..3e517a5
--- /dev/null
+++ b/arch/z16/src/z16f/Toolchain.defs
@@ -0,0 +1,118 @@
+############################################################################
+# arch/z16/src/z16f/Toolchain.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+# Setup for the selected toolchain
+
+#
+# The ZiLOG ZDS-II Windows toolchain is the only toolchain available for
+# the ez80.
+#
+
+CONFIG_Z16F_TOOLCHAIN ?= ZDSII
+
+ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
+ WINTOOL = y
+endif
+
+# These are the default directories where the ZDS-II toolchain is installed.
+# NOTE that short 8.3 path names are used in order to avoid spaces. On my
+# machine I have:
+#
+# Versions 5.0.1
+# C:\PROGRA~1\ = C:\Program Files\
+# C:\PROGRA~2\ = C:\Program Files (x86)\
+#
+# Your PC may be configured differently.
+#
+# Version 5.2.1, the default install location is C:\ZiLOG
+
+ifeq ($(CONFIG_Z16F_ZDSII_V511),y)
+INSTALLROOT = C:/PROGRA~2/ZiLOG
+ZDSVERSION := 5.0.1
+else ifeq ($(CONFIG_Z16F_ZDSII_V521),y)
+INSTALLROOT = C:/ZiLOG
+ZDSVERSION := 5.2.1
+endif
+
+ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+ ZDSINSTALLDIR = $(INSTALLROOT)/ZDSII_ZNEO_$(ZDSVERSION)
+ INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
+ ZDSBINDIR = $(INSTALLDIR)\bin
+ ZDSSTDINCDIR = $(INSTALLDIR)\include\std
+ ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
+ ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
+ ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
+else
+ WINTOOL = y
+ ZDSINSTALLDIR = $(INSTALLROOT)/ZDSII_ZNEO_$(ZDSVERSION)
+ INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
+ ZDSBINDIR = $(INSTALLDIR)/bin
+ ZDSSTDINCDIR = $(INSTALLDIR)/include/std
+ ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
+ ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
+ ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
+
+ # These are the same directories but with the directory separator
+ # character swapped as needed by the ZDS-II compiler
+
+ WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
+ WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
+ WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
+ WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
+ WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
+
+ # Escaped versions
+
+ ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
+ EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
+ EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
+endif
+
+# CPU Identification
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ ARCHOPTIMIZATION = -debug
+ ARCHASMOPTIMIZATION = -debug
+else
+ ARCHOPTIMIZATION = -nodebug
+ ARCHASMOPTIMIZATION = -nodebug
+endif
+
+ifeq ($(CONFIG_DEBUG_NOOPT),y)
+ ARCHOPTIMIZATION += -NOregvar -reduceopt
+else
+ ARCHOPTIMIZATION += -regvar
+endif
+
+# Tool names/paths
+
+CROSSDEV =
+CC = $(ZDSBINDIR)$(DELIM)zneocc.exe
+CPP = gcc -E
+LD = $(ZDSBINDIR)$(DELIM)zneolink.exe
+AS = $(ZDSBINDIR)$(DELIM)zneoasm.exe
+AR = $(ZDSBINDIR)$(DELIM)zneolib.exe
+
+# File extensions
+
+ASMEXT = .asm
+OBJEXT = .obj
+LIBEXT = .lib
+EXEEXT = .hex
diff --git a/arch/z80/src/z8/Toolchain.defs b/arch/z80/src/z8/Toolchain.defs
index 9aaf1b8..21acba1 100644
--- a/arch/z80/src/z8/Toolchain.defs
+++ b/arch/z80/src/z8/Toolchain.defs
@@ -1,7 +1,7 @@
############################################################################
# arch/z80/src/z8/Toolchain.defs
#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Copyright (C) 2012, 2020 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gn...@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -45,3 +45,119 @@ CONFIG_Z8_TOOLCHAIN ?= ZDSII
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
+
+# These are the directories where the ZDS-II toolchain is installed. NOTE
+# that short 8.3 path names are used in order to avoid spaces. On my machine
+# I have:
+#
+# C:\PROGRA~1\ = C:\Profram Files\
+# C:\PROGRA~2\ = C:\Program Files (x86)\
+#
+# Your PC may be configured differently.
+
+ifeq ($(CONFIG_Z8_ZDSII_V522),y)
+ZDSVERSION = 5.2.2
+else # ifeq ($(CONFIG_Z8_ZDSII_V500),y)
+ZDSVERSION = 5.0.0
+endif
+
+ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+ ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
+ INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
+ ZDSBINDIR = $(INSTALLDIR)\bin
+ ZDSSTDINCDIR = $(INSTALLDIR)\include\std
+ ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
+ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
+ ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F642X
+endif
+ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
+ ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F640X
+endif
+ ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
+ ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
+else
+ WINTOOL = y
+ ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
+ INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
+ ZDSBINDIR = $(INSTALLDIR)/bin
+ ZDSSTDINCDIR = $(INSTALLDIR)/include/std
+ ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
+ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
+ ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F642X
+endif
+ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
+ ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F640X
+endif
+ ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
+ ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
+
+ # These are the same directories but with the directory separator
+ # character swapped as needed by the ZDS-II compiler
+
+ WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
+ WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
+ WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
+ WZDSDEVINCDIR = ${shell cygpath -w "$(ZDSDEVINCDIR)"}
+ WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
+ WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
+
+ # Escaped versions
+
+ ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
+ EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
+ EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
+endif
+
+# CPU Identification
+
+ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
+ ARCHFAMILYDEF = _Z8ENCORE_F642X
+ ARCHSERIESDEF = _Z8ENCORE_64K_SERIES
+ ARCHREVAA = -NOrevaa
+ifeq ($(CONFIG_ARCH_CHIP_Z8F6423),y)
+ ARCHCPU = Z8F6423
+ ARCHCPUDEF = _Z8F6423
+endif
+endif
+
+ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
+ ARCHFAMILYDEF = _Z8ENCORE_F640X
+ ARCHSERIESDEF = _Z8ENCORE_640_FAMILY
+ ARCHREVAA = -revaa
+ifeq ($(CONFIG_ARCH_CHIP_Z8F6403),y)
+ ARCHCPU = Z8F6403
+ ARCHCPUDEF = _Z8F6403
+endif
+endif
+
+# Optimization level
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ ARCHOPTIMIZATION += -NOregvar -reduceopt
+ ARCHASMOPTIMIZATION = -debug -sdiopt
+else
+ ARCHOPTIMIZATION += -regvar
+ ARCHASMOPTIMIZATION = -nodebug -sdiopt
+endif
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ ARCHOPTIMIZATION = -debug
+else
+ ARCHOPTIMIZATION = -nodebug
+endif
+
+# Tool names/paths
+
+CROSSDEV =
+CC = ez8cc.exe
+CPP = gcc -E
+LD = ez8link.exe
+AS = ez8asm.exe
+AR = ez8lib.exe
+
+# File extensions
+
+ASMEXT = .asm
+OBJEXT = .obj
+LIBEXT = .lib
+EXEEXT = .hex
diff --git a/boards/z16/z16f/z16f2800100zcog/scripts/Make.defs b/boards/z16/z16f/z16f2800100zcog/scripts/Make.defs
index 456f417..92eae9b 100644
--- a/boards/z16/z16f/z16f2800100zcog/scripts/Make.defs
+++ b/boards/z16/z16f/z16f2800100zcog/scripts/Make.defs
@@ -1,7 +1,7 @@
############################################################################
# boards/z16/z16f/z16f2800100zcog/scripts/Make.defs
#
-# Copyright (C) 2014, 2017 Gregory Nutt. All rights reserved.
+# Copyright (C) 2014, 2017, 2020 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gn...@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,69 +35,17 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
+include ${TOPDIR}/arch/z16/src/z16f/Toolchain.defs
+include $(TOPDIR)/tools/zds/zds_Config.mk
-# These are the default directories where the ZDS-II toolchain is installed.
-# NOTE that short 8.3 path names are used in order to avoid spaces. On my
-# machine I have:
-#
-# Versions 5.0.1
-# C:\PROGRA~1\ = C:\Program Files\
-# C:\PROGRA~2\ = C:\Program Files (x86)\
-#
-# Your PC may be configured differently.
-#
-# Version 5.2.1, the default install location is C:\ZiLOG
-
-ifeq ($(CONFIG_Z16F_ZDSII_V511),y)
-INSTALLROOT = C:/PROGRA~2/ZiLOG
-ZDSVERSION := 5.0.1
-else ifeq ($(CONFIG_Z16F_ZDSII_V521),y)
-INSTALLROOT = C:/ZiLOG
-ZDSVERSION := 5.2.1
-endif
+# CFLAGS
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
- ZDSINSTALLDIR = $(INSTALLROOT)/ZDSII_ZNEO_$(ZDSVERSION)
- INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
- ZDSBINDIR = $(INSTALLDIR)\bin
- ZDSSTDINCDIR = $(INSTALLDIR)\include\std
- ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
- ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
- ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
-
- # CFLAGs
-
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
ARCHUSRINCLUDES = -usrinc:.
else
- WINTOOL = y
- ZDSINSTALLDIR = $(INSTALLROOT)/ZDSII_ZNEO_$(ZDSVERSION)
- INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
- ZDSBINDIR = $(INSTALLDIR)/bin
- ZDSSTDINCDIR = $(INSTALLDIR)/include/std
- ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
- ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
- ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
-
- # These are the same directories but with the directory separator
- # character swapped as needed by the ZDS-II compiler
-
- WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
- WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
- WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
- WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
- WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
-
- # Escaped versions
-
- ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
- EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
- EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
-
- # CFLAGs
-
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
@@ -106,12 +54,6 @@ endif
# Assembler definitions
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHASMOPTIMIZATION = -debug
-else
- ARCHASMOPTIMIZATION = -nodebug
-endif
-
ARCHASMCPUFLAGS = -cpu:Z16F2811AL -NOigcase
ARCHASMLIST = -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn
@@ -120,18 +62,6 @@ AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS)
# Compiler definitions
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHOPTIMIZATION = -debug
-else
- ARCHOPTIMIZATION = -nodebug
-endif
-
-ifeq ($(CONFIG_DEBUG_NOOPT),y)
- ARCHOPTIMIZATION += -NOregvar -reduceopt
-else
- ARCHOPTIMIZATION += -regvar
-endif
-
ARCHCPUFLAGS = -chartype:S -model:L -NOmodsect -cpu:Z16F2811AL -NOgenprint \
-asmsw:" $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
ARCHLIST = -keeplst -NOlist -NOlistinc -NOkeepasm
@@ -153,80 +83,6 @@ ARFLAGS = -quiet -warn
LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)z16f2800100zcog$(DELIM)scripts$(DELIM)z16f2800100zcog.linkcmd
-# Tool names/paths
-
-CROSSDEV =
-CC = $(ZDSBINDIR)$(DELIM)zneocc.exe
-CPP = gcc -E
-LD = $(ZDSBINDIR)$(DELIM)zneolink.exe
-AS = $(ZDSBINDIR)$(DELIM)zneoasm.exe
-AR = $(ZDSBINDIR)$(DELIM)zneolib.exe
-
-# File extensions
-
-ASMEXT = .asm
-OBJEXT = .obj
-LIBEXT = .lib
-EXEEXT = .hex
-
-# These are the macros that will be used in the NuttX make system
-# to compile and assembly source files and to insert the resulting
-# object files into an archive
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-
-define PREPROCESS
- @echo CPP: $1->$2
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ASSEMBLE
- $(Q) "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ARCHIVE
- for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
-endef
-
-define CLEAN
- $(Q) if exist *.obj (del /f /q *.obj)
- $(Q) if exist *.src (del /f /q *.src)
- $(Q) if exist *.lib (del /f /q *.lib)
- $(Q) if exist *.hex (del /f /q *.hex)
- $(Q) if exist *.lod (del /f /q *.lod)
- $(Q) if exist *.lst (del /f /q *.lst)
-endef
-
-else
-
-define PREPROCESS
- @echo "CPP: $1->$2"
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) `cygpath -w "$1"`
-endef
-
-define ASSEMBLE
- $(Q) "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) `cygpath -w "$1"`
-endef
-
-define ARCHIVE
- for __obj in $(2) ; do \
- "$(AR)" $(ARFLAGS) $1=-+$$__obj \
- done
-endef
-
-define CLEAN
- $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
-endef
-endif
-
# Windows native host tool definitions
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
diff --git a/boards/z80/ez80/ez80f910200kitg/scripts/Make.defs b/boards/z80/ez80/ez80f910200kitg/scripts/Make.defs
index 452f5dd..5673ca8 100644
--- a/boards/z80/ez80/ez80f910200kitg/scripts/Make.defs
+++ b/boards/z80/ez80/ez80f910200kitg/scripts/Make.defs
@@ -36,7 +36,7 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
-include $(TOPDIR)/boards/z80/ez80/scripts/ez80_Config.mk
+include $(TOPDIR)/tools/zds/zds_Config.mk
# CFLAGS
diff --git a/boards/z80/ez80/ez80f910200zco/scripts/Make.defs b/boards/z80/ez80/ez80f910200zco/scripts/Make.defs
index 65bbffe..f2f587b 100644
--- a/boards/z80/ez80/ez80f910200zco/scripts/Make.defs
+++ b/boards/z80/ez80/ez80f910200zco/scripts/Make.defs
@@ -36,7 +36,7 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
-include $(TOPDIR)/boards/z80/ez80/scripts/ez80_Config.mk
+include $(TOPDIR)/tools/zds/zds_Config.mk
# CFLAGS
diff --git a/boards/z80/ez80/makerlisp/scripts/Make.defs b/boards/z80/ez80/makerlisp/scripts/Make.defs
index be7c09a..4af5ba0 100644
--- a/boards/z80/ez80/makerlisp/scripts/Make.defs
+++ b/boards/z80/ez80/makerlisp/scripts/Make.defs
@@ -36,7 +36,7 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
-include $(TOPDIR)/boards/z80/ez80/scripts/ez80_Config.mk
+include $(TOPDIR)/tools/zds/zds_Config.mk
# CFLAGS
diff --git a/boards/z80/ez80/z20x/scripts/Make.defs b/boards/z80/ez80/z20x/scripts/Make.defs
index 264f962..6ef267d 100644
--- a/boards/z80/ez80/z20x/scripts/Make.defs
+++ b/boards/z80/ez80/z20x/scripts/Make.defs
@@ -21,7 +21,7 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
-include $(TOPDIR)/boards/z80/ez80/scripts/ez80_Config.mk
+include $(TOPDIR)/tools/zds/zds_Config.mk
# CFLAGS
diff --git a/boards/z80/z8/z8encore000zco/configs/ostest/Make.defs b/boards/z80/z8/z8encore000zco/configs/ostest/Make.defs
deleted file mode 100644
index 92c7a6c..0000000
--- a/boards/z80/z8/z8encore000zco/configs/ostest/Make.defs
+++ /dev/null
@@ -1,287 +0,0 @@
-############################################################################
-# boards/z80/z8/z8encore000zco/configs/ostest/Make.defs
-#
-# Copyright (C) 2008, 2012-2013 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gn...@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-include $(TOPDIR)/.config
-include $(TOPDIR)/tools/Config.mk
-
-# These are the directories where the ZDS-II toolchain is installed. NOTE
-# that short 8.3 path names are used in order to avoid spaces. On my machine
-# I have:
-#
-# C:\PROGRA~1\ = C:\Profram Files\
-# C:\PROGRA~2\ = C:\Program Files (x86)\
-#
-# Your PC may be configured differently.
-
-ifeq ($(CONFIG_Z8_ZDSII_V522),y)
-ZDSVERSION = 5.2.2
-else # ifeq ($(CONFIG_Z8_ZDSII_V500),y)
-ZDSVERSION = 5.0.0
-endif
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
- ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
- INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
- ZDSBINDIR = $(INSTALLDIR)\bin
- ZDSSTDINCDIR = $(INSTALLDIR)\include\std
- ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F642X
-endif
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F640X
-endif
- ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
- ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
-
- # CFLAGs
-
- ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
- EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
- ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR);$(ZDSDEVINCDIR)
- ARCHUSRINCLUDES = -usrinc:.
-else
- WINTOOL = y
- ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
- INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
- ZDSBINDIR = $(INSTALLDIR)/bin
- ZDSSTDINCDIR = $(INSTALLDIR)/include/std
- ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F642X
-endif
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F640X
-endif
- ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
- ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
-
- # These are the same directories but with the directory separator
- # character swapped as needed by the ZDS-II compiler
-
- WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
- WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
- WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
- WZDSDEVINCDIR = ${shell cygpath -w "$(ZDSDEVINCDIR)"}
- WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
- WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
-
- # Escaped versions
-
- ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
- EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
- EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
-
- # CFLAGs
-
- ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
- EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
- ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSDEVINCDIR)'
- ARCHUSRINCLUDES = -usrinc:'.'
-endif
-
-# Assembler definitions
-
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ARCHFAMILYDEF = _Z8ENCORE_F642X
- ARCHSERIESDEF = _Z8ENCORE_64K_SERIES
- ARCHREVAA = -NOrevaa
-ifeq ($(CONFIG_ARCH_CHIP_Z8F6423),y)
- ARCHCPU = Z8F6423
- ARCHCPUDEF = _Z8F6423
-endif
-endif
-
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ARCHFAMILYDEF = _Z8ENCORE_F640X
- ARCHSERIESDEF = _Z8ENCORE_640_FAMILY
- ARCHREVAA = -revaa
-ifeq ($(CONFIG_ARCH_CHIP_Z8F6403),y)
- ARCHCPU = Z8F6403
- ARCHCPUDEF = _Z8F6403
-endif
-endif
-
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHASMOPTIMIZATION = -debug -sdiopt
-else
- ARCHASMOPTIMIZATION = -nodebug -sdiopt
-endif
-
-ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase $(ARCHREVAA)
-ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
-ARCHASMWARNINGS = -warn
-ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHSERIESDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
-AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
-
-# Compiler definitions
-
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHOPTIMIZATION = -debug
-else
- ARCHOPTIMIZATION = -nodebug
-endif
-
-ifeq ($(CONFIG_DEBUG_NOOPT),y)
- ARCHOPTIMIZATION += -NOregvar -reduceopt
-else
- ARCHOPTIMIZATION += -regvar
-endif
-
-ARCHCPUFLAGS = -chartype:S -model:L -const:RAM -NOoptlink -promote -cpu:$(ARCHCPU) $(ARCHREVAA) -NOgenprintf \
- -asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
-ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
-ARCHPICFLAGS =
-ARCHWARNINGS = -warn
-ARCHDEFINES = -define:$(ARCHFAMILYDEF) -define:$(ARCHCPUDEF) -define:$(ARCHSERIESDEF)
-ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
-CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
-
-CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D$(ARCHSERIESDEF) -D__ASSEMBLY__
-CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
-CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
-
-# Librarian definitions
-
-ARFLAGS = -quiet -warn
-
-# Linker definitions
-
-LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)$(DELIM)configs$(DELIM)ostest$(DELIM)ostest.linkcmd
-
-# Tool names/paths
-
-CROSSDEV =
-CC = ez8cc.exe
-CPP = gcc -E
-LD = ez8link.exe
-AS = ez8asm.exe
-AR = ez8lib.exe
-
-# File extensions
-
-ASMEXT = .asm
-OBJEXT = .obj
-LIBEXT = .lib
-EXEEXT = .hex
-
-# These are the macros that will be used in the NuttX make system
-# to compile and assembly source files and to insert the resulting
-# object files into an archive
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-
-define PREPROCESS
- @echo CPP: $1->$2
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ASSEMBLE
- $(Q) "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ARCHIVE
- for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
-endef
-
-define CLEAN
- $(Q) if exist *.obj (del /f /q *.obj)
- $(Q) if exist *.src (del /f /q *.src)
- $(Q) if exist *.lib (del /f /q *.lib)
- $(Q) if exist *.hex (del /f /q *.hex)
- $(Q) if exist *.lod (del /f /q *.lod)
- $(Q) if exist *.lst (del /f /q *.lst)
-endef
-
-else
-
-define PREPROCESS
- @echo "CPP: $1->$2"
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) $$wfile)
-endef
-
-define ASSEMBLE
- $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) $$wfile)
-endef
-
-define ARCHIVE
- for __obj in $(2) ; do \
- "$(AR)" $(ARFLAGS) $1=-+$$__obj \
- done
-endef
-
-define CLEAN
- $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
-endef
-endif
-
-# Windows native host tool definitions
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
- HOSTCC = mingw32-gcc.exe
- HOSTINCLUDES = -I.
- HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -g -pipe
- HOSTLDFLAGS =
- HOSTEXEEXT = .exe
-
- # Windows-native host tools
-
- MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
-else
-
-# Linux/Cygwin host tool definitions
-
- HOSTCC = gcc
- HOSTINCLUDES = -I.
- HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -g -pipe
- HOSTLDFLAGS =
-
- # This is the tool to use for dependencies (i.e., none)
-
- MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mkwindeps.sh
-
- # ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
-
- DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)copydir.sh
- DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
-endif
diff --git a/boards/z80/ez80/ez80f910200zco/scripts/Make.defs b/boards/z80/z8/z8encore000zco/scripts/Make.defs
similarity index 78%
copy from boards/z80/ez80/ez80f910200zco/scripts/Make.defs
copy to boards/z80/z8/z8encore000zco/scripts/Make.defs
index 65bbffe..72402ee 100644
--- a/boards/z80/ez80/ez80f910200zco/scripts/Make.defs
+++ b/boards/z80/z8/z8encore000zco/scripts/Make.defs
@@ -1,7 +1,7 @@
############################################################################
-# boards/z80/ez80/ez80f910200zco/scripts/Make.defs
+# boards/z80/z8/z8encore000zco/scripts/ostest/Make.defs
#
-# Copyright (C) 2009, 2012-2013, 2020 Gregory Nutt. All rights reserved.
+# Copyright (C) 2008, 2012-2013, 2020 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gn...@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,43 +35,43 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
-include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
-include $(TOPDIR)/boards/z80/ez80/scripts/ez80_Config.mk
+include ${TOPDIR}/arch/z80/src/z8/Toolchain.defs
+include $(TOPDIR)/tools/zds/zds_Config.mk
# CFLAGS
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
- ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
+ ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR);$(ZDSDEVINCDIR)
ARCHUSRINCLUDES = -usrinc:.
else
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
- ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
+ ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSDEVINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
endif
# Assembler definitions
-ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
+ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase $(ARCHREVAA)
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn
-ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
+ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHSERIESDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions
-ARCHCPUFLAGS = -chartype:S -promote -cpu:$(ARCHCPU) -NOgenprintf -NOmodsect \
- -asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHOPTIMIZATION)"
+ARCHCPUFLAGS = -chartype:S -model:L -const:RAM -NOoptlink -promote -cpu:$(ARCHCPU) $(ARCHREVAA) -NOgenprintf \
+ -asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS =
ARCHWARNINGS = -warn
-ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
+ARCHDEFINES = -define:$(ARCHFAMILYDEF) -define:$(ARCHCPUDEF) -define:$(ARCHSERIESDEF)
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
-CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
+CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D$(ARCHSERIESDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
@@ -81,7 +81,7 @@ ARFLAGS = -quiet -warn
# Linker definitions
-LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)$(DELIM)scripts$(DELIM)ez80f910200zco.linkcmd
+LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)$(DELIM)configs$(DELIM)ostest$(DELIM)ostest.linkcmd
# Windows native host tool definitions
@@ -94,8 +94,7 @@ ifeq ($(CONFIG_WINDOWS_NATIVE),y)
# Windows-native host tools
- #MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
- MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
+ MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
else
# Linux/Cygwin host tool definitions
@@ -107,7 +106,7 @@ else
# This is the tool to use for dependencies (i.e., none)
- MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
+ MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mkwindeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
diff --git a/boards/z80/z8/z8f64200100kit/configs/ostest/Make.defs b/boards/z80/z8/z8f64200100kit/scripts/Make.defs
similarity index 50%
rename from boards/z80/z8/z8f64200100kit/configs/ostest/Make.defs
rename to boards/z80/z8/z8f64200100kit/scripts/Make.defs
index ed9ba2a..ab663d0 100644
--- a/boards/z80/z8/z8f64200100kit/configs/ostest/Make.defs
+++ b/boards/z80/z8/z8f64200100kit/scripts/Make.defs
@@ -1,7 +1,7 @@
############################################################################
# boards/z80/z8/z8f64200100kit/configs/ostest/Make.defs
#
-# Copyright (C) 2008, 2012-2013 Gregory Nutt. All rights reserved.
+# Copyright (C) 2008, 2012-2013, 2020 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gn...@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
@@ -35,77 +35,16 @@
include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
+include ${TOPDIR}/arch/z80/src/z8/Toolchain.defs
+include $(TOPDIR)/tools/zds/zds_Config.mk
-# These are the directories where the ZDS-II toolchain is installed. NOTE
-# that short 8.3 path names are used in order to avoid spaces. On my machine
-# I have:
-#
-# C:\PROGRA~1\ = C:\Profram Files\
-# C:\PROGRA~2\ = C:\Program Files (x86)\
-#
-# Your PC may be configured differently.
-
-ifeq ($(CONFIG_Z8_ZDSII_V522),y)
-ZDSVERSION = 5.2.2
-else # ifeq ($(CONFIG_Z8_ZDSII_V500),y)
-ZDSVERSION = 5.0.0
-endif
-
+# CFLAGS
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
- ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
- INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
- ZDSBINDIR = $(INSTALLDIR)\bin
- ZDSSTDINCDIR = $(INSTALLDIR)\include\std
- ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F642X
-endif
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ZDSDEVINCDIR = $(INSTALLDIR)\Z8Encore_F640X
-endif
- ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
- ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
-
- # CFLAGs
-
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR);$(ZDSDEVINCDIR)
ARCHUSRINCLUDES = -usrinc:.
else
- WINTOOL = y
- ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_Z8Encore!_$(ZDSVERSION)
- INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
- ZDSBINDIR = $(INSTALLDIR)/bin
- ZDSSTDINCDIR = $(INSTALLDIR)/include/std
- ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F642X
-endif
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ZDSDEVINCDIR = $(ZDSZILOGINCDIR)/Z8Encore_F640X
-endif
- ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
- ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
-
- # These are the same directories but with the directory separator
- # character swapped as needed by the ZDS-II compiler
-
- WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
- WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
- WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
- WZDSDEVINCDIR = ${shell cygpath -w "$(ZDSDEVINCDIR)"}
- WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
- WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
-
- # Escaped versions
-
- ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
- EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
- EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
-
- # CFLAGs
-
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSDEVINCDIR)'
@@ -114,32 +53,6 @@ endif
# Assembler definitions
-ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
- ARCHFAMILYDEF = _Z8ENCORE_F642X
- ARCHSERIESDEF = _Z8ENCORE_64K_SERIES
- ARCHREVAA = -NOrevaa
-ifeq ($(CONFIG_ARCH_CHIP_Z8F6423),y)
- ARCHCPU = Z8F6423
- ARCHCPUDEF = _Z8F6423
-endif
-endif
-
-ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
- ARCHFAMILYDEF = _Z8ENCORE_F640X
- ARCHSERIESDEF = _Z8ENCORE_640_FAMILY
- ARCHREVAA = -revaa
-ifeq ($(CONFIG_ARCH_CHIP_Z8F6403),y)
- ARCHCPU = Z8F6403
- ARCHCPUDEF = _Z8F6403
-endif
-endif
-
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHASMOPTIMIZATION = -debug -sdiopt
-else
- ARCHASMOPTIMIZATION = -nodebug -sdiopt
-endif
-
ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase $(ARCHREVAA)
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn
@@ -148,18 +61,6 @@ AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS)
# Compiler definitions
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
- ARCHOPTIMIZATION = -debug
-else
- ARCHOPTIMIZATION = -nodebug
-endif
-
-ifeq ($(CONFIG_DEBUG_NOOPT),y)
- ARCHOPTIMIZATION += -NOregvar -reduceopt
-else
- ARCHOPTIMIZATION += -regvar
-endif
-
ARCHCPUFLAGS = -chartype:S -model:L -const:RAM -NOoptlink -promote -cpu:$(ARCHCPU) $(ARCHREVAA) -NOgenprintf \
-asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
@@ -181,80 +82,6 @@ ARFLAGS = -quiet -warn
LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)$(DELIM)configs$(DELIM)ostest$(DELIM)ostest.linkcmd
-# Tool names/paths
-
-CROSSDEV =
-CC = ez8cc.exe
-CPP = gcc -E
-LD = ez8link.exe
-AS = ez8asm.exe
-AR = ez8lib.exe
-
-# File extensions
-
-ASMEXT = .asm
-OBJEXT = .obj
-LIBEXT = .lib
-EXEEXT = .hex
-
-# These are the macros that will be used in the NuttX make system
-# to compile and assembly source files and to insert the resulting
-# object files into an archive
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-
-define PREPROCESS
- @echo CPP: $1->$2
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ASSEMBLE
- $(Q) "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
-endef
-
-define ARCHIVE
- for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
-endef
-
-define CLEAN
- $(Q) if exist *.obj (del /f /q *.obj)
- $(Q) if exist *.src (del /f /q *.src)
- $(Q) if exist *.lib (del /f /q *.lib)
- $(Q) if exist *.hex (del /f /q *.hex)
- $(Q) if exist *.lod (del /f /q *.lod)
- $(Q) if exist *.lst (del /f /q *.lst)
-endef
-
-else
-
-define PREPROCESS
- @echo "CPP: $1->$2"
- $(Q) "$(CPP)" $(CPPFLAGS) $($(strip $1)_CPPFLAGS) $1 -o $2
-endef
-
-define COMPILE
- $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $($(strip $1)_CFLAGS) $$wfile)
-endef
-
-define ASSEMBLE
- $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $($(strip $1)_AFLAGS) $$wfile)
-endef
-
-define ARCHIVE
- for __obj in $(2) ; do \
- "$(AR)" $(ARFLAGS) $1=-+$$__obj \
- done
-endef
-
-define CLEAN
- $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
-endef
-endif
-
# Windows native host tool definitions
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
diff --git a/tools/zds/README.txt b/tools/zds/README.txt
index 4f1e16c..fbcf546 100644
--- a/tools/zds/README.txt
+++ b/tools/zds/README.txt
@@ -7,6 +7,11 @@ tools/zds/zdsar.c: This is a wrapper around the ZDS_II librarian. It
the build files but it also improves performance and, more importantly,i
provides a common solution for the Windows native build case.
+tools/zds/zds_Config.mk: This makefile fragment is include by ZDS-II
+ Make.defs files after including tools/Config.mk. The definitions in this
+ file override some of the the definitions in tools/Config.mk to customize
+ the build for use with the ZDS-II tools.
+
These tools should work with all ZDS-II based platforms including z8, zNeo,
and ez80.
diff --git a/boards/z80/ez80/scripts/eZ80_Config.mk b/tools/zds/zds_Config.mk
similarity index 96%
rename from boards/z80/ez80/scripts/eZ80_Config.mk
rename to tools/zds/zds_Config.mk
index 7a4f98a..a7192cf 100644
--- a/boards/z80/ez80/scripts/eZ80_Config.mk
+++ b/tools/zds/zds_Config.mk
@@ -1,5 +1,5 @@
############################################################################
-# boards/z80/ez80/scripts/eZ80_Config.defs
+# tools/zds/zds_Config.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -78,7 +78,7 @@ endef
else
define CONDMOVE
- $(Q) if [ ! -e $(1) && -e $(2) ]; then mv -f $(2) $(3) ; fi
+ $(Q) if [ ! -e $(1) -a -e $(2) ] ; then mv -f $(2) $(3) ; fi
endef
define MVOBJS
@@ -104,7 +104,7 @@ endif
# ARCHIVE will move a list of object files into the library. This is
# complex because:
#
-# 1. The ez80lib.exe archive expects the library to reside within the
+# 1. The ZDS-II librarian expects the library to reside within the
# current directory; it expects the library argument to a file name
# like foo.lib.
# 2. Normally, the library file is in the current directory, but other
diff --git a/tools/zds/zdsar.c b/tools/zds/zdsar.c
index 8026d11..2f3891a 100644
--- a/tools/zds/zdsar.c
+++ b/tools/zds/zdsar.c
@@ -78,7 +78,9 @@
/* Maximum objects per librarian call.
*
* REVISIT: The librarian is supposed to handle multiple object insertions
- * per call, but my experience is that it is unreliable in that case.
+ * per call, but my experience was that it was unreliable in that case. That
+ * may have improved, however, and perhaps we can increase MAX_OPBJEXT.. TRY
+ * IT!
*/
#define MAX_OBJECTS 1 /* 64 */