diff options
Diffstat (limited to 'nuttx/configs/z8f64200100kit/ostest/Make.defs')
-rw-r--r-- | nuttx/configs/z8f64200100kit/ostest/Make.defs | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/nuttx/configs/z8f64200100kit/ostest/Make.defs b/nuttx/configs/z8f64200100kit/ostest/Make.defs new file mode 100644 index 000000000..9c0e6ac11 --- /dev/null +++ b/nuttx/configs/z8f64200100kit/ostest/Make.defs @@ -0,0 +1,191 @@ +############################################################################ +# configs/z8f4200100kit/ostest/Make.defs +# +# Copyright (C) 2008 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# 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 + +# These are the directories where the ZDS-II toolchain is installed + +ZDSINSTALLDIR := C:/Program\ Files/ZiLOG/ZDSII_Z8Encore!_4.10.1 +ZDSBINDIR := $(ZDSINSTALLDIR)/bin +ZDSSTDINCDIR := $(ZDSINSTALLDIR)/include/std +ZDSZILOGINCDIR := $(ZDSINSTALLDIR)/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 := $(ZDSINSTALLDIR)/lib/std +ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)/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"} + +# 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}","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__ +ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)' +EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)' +AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) \ + $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) + +# Compiler definitions + +ifeq ("${CONFIG_DEBUG}","y") + ARCHOPTIMIZATION = -debug -NOregvar -reduceopt +else + ARCHOPTIMIZATION = -nodebug -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) +ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSDEVINCDIR)' +ARCHUSRINCLUDES = -usrinc:'.' +ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) +CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) \ + $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) + +CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D$(ARCHSERIESDEF) -D__ASSEMBLY__ +CPPINCLUDES = -I$(TOPDIR)/include +CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) + +# Librarian definitions + +ARFLAGS = -quiet -warn + +# Linker definitions + +LINKCMDTEMPLATE = $(TOPDIR)/configs/z8f4200100kit/ostest/ostest.linkcmd + +# Tool names/pathes + +CROSSDEV = +CC = $(ZDSBINDIR)/ez8cc.exe +CPP = gcc -E +LD = $(ZDSBINDIR)/ez8link.exe +AS = $(ZDSBINDIR)/ez8asm.exe +AR = $(ZDSBINDIR)/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 + +define COMPILE + @#echo "CC: $1" + @$(CC) $(CFLAGS) $1 +endef + +define ASSEMBLE + @#echo "AS: $1" + @$(AS) -c $(AFLAGS) $1 +endef + +define ARCHIVE + echo "AR: $2"; \ + $(AR) $(ARFLAGS) $1=-+$2 || { echo "$(AR) $1=-+$2 FAILED!" ; exit 1 ; } +endef + +define CLEAN + @rm -f *.obj *.src *.lib *.hex *.lst +endef + +# This is the tool to use for dependencies (i.e., none) + +MKDEP = $(TOPDIR)/tools/mknulldeps.sh + +# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies + +DIRLINK = $(TOPDIR)/tools/winlink.sh +DIRUNLINK = $(TOPDIR)/tools/unlink.sh + +# Linux/Cygwin host tool definitions + +HOSTCC = gcc +HOSTINCLUDES = -I. +HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe +HOSTLDFLAGS = |