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 <[email protected]> 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 <[email protected]> # # 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 <[email protected]> # # 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 <[email protected]> -# -# 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 <[email protected]> # # 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 <[email protected]> # # 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 */
