ez80f910200zco/ostest supports native windows build; other configurations also updated

git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5391 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-11-26 18:39:49 +00:00
parent aca95c7730
commit 285cd25599
9 changed files with 530 additions and 280 deletions

View File

@ -3690,5 +3690,5 @@
CONFIG_STM32_FLASH_PREFETCH. FLASH prefetch will now only be enabled CONFIG_STM32_FLASH_PREFETCH. FLASH prefetch will now only be enabled
if this option is selected. if this option is selected.
* confgs/ez80f910200zco/ostest: Now used Kconfig/mconfig configuration * confgs/ez80f910200zco/ostest: Now used Kconfig/mconfig configuration
tool. tool. Updated to build in native Windows environment. Other ez80f910200zco
build scripts also updated.

View File

@ -1789,10 +1789,6 @@ configs/pic32mx7mmb
Mikroelektronika PIC32MX7 Multimedia Board (MMB). See Mikroelektronika PIC32MX7 Multimedia Board (MMB). See
http://www.mikroe.com/ for further information. http://www.mikroe.com/ for further information.
STATUS: Basic OS test configuration is in place, but the board does not boot.
It looks like I will need an ICD3 in order to debug the code (PICkit3
doesn't work for debug with this board). This effort is temporarily stalled.
configs/pjrc-8051 configs/pjrc-8051
8051 Microcontroller. This port uses the PJRC 87C52 development system 8051 Microcontroller. This port uses the PJRC 87C52 development system
and the SDCC toolchain. This port is not quite ready for prime time. and the SDCC toolchain. This port is not quite ready for prime time.

View File

@ -33,51 +33,67 @@
# #
############################################################################ ############################################################################
include ${TOPDIR}/.config include $(TOPDIR)/.config
include ${TOPDIR}/tools/Config.mk include $(TOPDIR)/tools/Config.mk
# These are the directories where the ZDS-II toolchain is installed # These are the directories where the ZDS-II toolchain is installed
ZDSVERSION := 5.1.1 ZDSVERSION := 5.1.1
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ZDSBINDIR := $(ZDSINSTALLDIR)\bin ZDSINSTALLDIR := C:/PROGRA~2/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ZDSSTDINCDIR := $(ZDSINSTALLDIR)\include\std INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)\include\zilog ZDSBINDIR := $(INSTALLDIR)\bin
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)\lib\std ZDSSTDINCDIR := $(INSTALLDIR)\include\std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)\lib\zilog 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 else
WINTOOL := y WINTOOL := y
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"} INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
ZDSBINDIR := $(INSTALLDIR)/bin ZDSBINDIR := $(INSTALLDIR)/bin
ZDSSTDINCDIR := $(INSTALLDIR)/include/std ZDSSTDINCDIR := $(INSTALLDIR)/include/std
ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog
ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(INSTALLDIR)/lib/zilog 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)'
ARCHUSRINCLUDES = -usrinc:'.'
endif endif
# 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"}
# Assembler definitions # Assembler definitions
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ARCHCPU = eZ80F91 ARCHCPU = eZ80F91
ARCHCPUDEF = _EZ80F91 ARCHCPUDEF = _EZ80F91
ARCHFAMILY = _EZ80ACCLAIM! ARCHFAMILY = _EZ80ACCLAIM!
endif endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
@ -90,8 +106,6 @@ ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn ARCHASMWARNINGS = -warn
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__ ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions # Compiler definitions
@ -108,13 +122,11 @@ ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS = ARCHPICFLAGS =
ARCHWARNINGS = -warn ARCHWARNINGS = -warn
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF) ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__ CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)/include CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
# Librarian definitions # Librarian definitions
@ -123,16 +135,16 @@ ARFLAGS = -quiet -warn
# Linker definitions # Linker definitions
LINKCMDTEMPLATE = $(TOPDIR)/configs/ez80f910200zco/dhcpd/dhcpd.linkcmd LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)ez80f910200zco$(DELIM)dhcpd$(DELIM)dhcpd.linkcmd
# Tool names/pathes # Tool names/pathes
CROSSDEV = CROSSDEV =
CC = $(ZDSBINDIR)/ez80cc.exe CC = ez80cc.exe
CPP = gcc -E CPP = gcc -E
LD = $(ZDSBINDIR)/ez80link.exe LD = ez80link.exe
AS = $(ZDSBINDIR)/ez80asm.exe AS = ez80asm.exe
AR = $(ZDSBINDIR)/ez80lib.exe AR = ez80lib.exe
# File extensions # File extensions
@ -146,51 +158,89 @@ HEXEXT = .hex
# to compile and assembly source files and to insert the resulting # to compile and assembly source files and to insert the resulting
# object files into an archive # object files into an archive
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define PREPROCESS
@echo CPP: $1->$2
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef
define COMPILE
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ASSEMBLE
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ARCHIVE
echo AR: $2
$(Q) 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 define PREPROCESS
@echo "CPP: $1->$2" @echo "CPP: $1->$2"
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2 $(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef endef
define COMPILE define COMPILE
@#echo "CC: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
endef endef
define ASSEMBLE define ASSEMBLE
@#echo "AS: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
endef endef
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
echo "AR: $2";
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
endef
else
define ARCHIVE define ARCHIVE
$(Q) for __obj in $(2) ; do \ $(Q) for __obj in $(2) ; do \
echo "AR: $$__obj"; \ echo "AR: $$__obj"; \
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \ "$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
done done
endef endef
endif
define CLEAN define CLEAN
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
endef endef
endif
# This is the tool to use for dependencies (i.e., none) # Windows native host tool definitions
MKDEP = $(TOPDIR)/tools/mknulldeps.sh ifeq ($(CONFIG_WINDOWS_NATIVE),y)
HOSTCC = mingw32-gcc.exe
HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS =
HOSTEXEEXT = .exe
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies # Windows-native host tools
DIRLINK = $(TOPDIR)/tools/winlink.sh MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
DIRUNLINK = $(TOPDIR)/tools/unlink.sh else
# Linux/Cygwin host tool definitions # Linux/Cygwin host tool definitions
HOSTCC = gcc HOSTCC = gcc
HOSTINCLUDES = -I. HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS = HOSTLDFLAGS =
# This is the tool to use for dependencies (i.e., none)
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)winlink.sh
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
endif

View File

@ -33,51 +33,67 @@
# #
############################################################################ ############################################################################
include ${TOPDIR}/.config include $(TOPDIR)/.config
include ${TOPDIR}/tools/Config.mk include $(TOPDIR)/tools/Config.mk
# These are the directories where the ZDS-II toolchain is installed # These are the directories where the ZDS-II toolchain is installed
ZDSVERSION := 5.1.1 ZDSVERSION := 5.1.1
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ZDSBINDIR := $(ZDSINSTALLDIR)\bin ZDSINSTALLDIR := C:/PROGRA~2/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ZDSSTDINCDIR := $(ZDSINSTALLDIR)\include\std INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)\include\zilog ZDSBINDIR := $(INSTALLDIR)\bin
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)\lib\std ZDSSTDINCDIR := $(INSTALLDIR)\include\std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)\lib\zilog 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 else
WINTOOL := y WINTOOL := y
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"} INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
ZDSBINDIR := $(INSTALLDIR)/bin ZDSBINDIR := $(INSTALLDIR)/bin
ZDSSTDINCDIR := $(INSTALLDIR)/include/std ZDSSTDINCDIR := $(INSTALLDIR)/include/std
ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog
ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(INSTALLDIR)/lib/zilog 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)'
ARCHUSRINCLUDES = -usrinc:'.'
endif endif
# 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"}
# Assembler definitions # Assembler definitions
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ARCHCPU = eZ80F91 ARCHCPU = eZ80F91
ARCHCPUDEF = _EZ80F91 ARCHCPUDEF = _EZ80F91
ARCHFAMILY = _EZ80ACCLAIM! ARCHFAMILY = _EZ80ACCLAIM!
endif endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
@ -90,8 +106,6 @@ ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn ARCHASMWARNINGS = -warn
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__ ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions # Compiler definitions
@ -108,13 +122,11 @@ ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS = ARCHPICFLAGS =
ARCHWARNINGS = -warn ARCHWARNINGS = -warn
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF) ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__ CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)/include CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
# Librarian definitions # Librarian definitions
@ -123,16 +135,16 @@ ARFLAGS = -quiet -warn
# Linker definitions # Linker definitions
LINKCMDTEMPLATE = $(TOPDIR)/configs/ez80f910200zco/httpd/httpd.linkcmd LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)ez80f910200zco$(DELIM)httpd$(DELIM)httpd.linkcmd
# Tool names/pathes # Tool names/pathes
CROSSDEV = CROSSDEV =
CC = $(ZDSBINDIR)/ez80cc.exe CC = ez80cc.exe
CPP = gcc -E CPP = gcc -E
LD = $(ZDSBINDIR)/ez80link.exe LD = ez80link.exe
AS = $(ZDSBINDIR)/ez80asm.exe AS = ez80asm.exe
AR = $(ZDSBINDIR)/ez80lib.exe AR = ez80lib.exe
# File extensions # File extensions
@ -146,51 +158,89 @@ HEXEXT = .hex
# to compile and assembly source files and to insert the resulting # to compile and assembly source files and to insert the resulting
# object files into an archive # object files into an archive
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define PREPROCESS
@echo CPP: $1->$2
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef
define COMPILE
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ASSEMBLE
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ARCHIVE
echo AR: $2
$(Q) 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 define PREPROCESS
@echo "CPP: $1->$2" @echo "CPP: $1->$2"
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2 $(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef endef
define COMPILE define COMPILE
@#echo "CC: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
endef endef
define ASSEMBLE define ASSEMBLE
@#echo "AS: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
endef endef
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
echo "AR: $2";
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
endef
else
define ARCHIVE define ARCHIVE
$(Q) for __obj in $(2) ; do \ $(Q) for __obj in $(2) ; do \
echo "AR: $$__obj"; \ echo "AR: $$__obj"; \
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \ "$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
done done
endef endef
endif
define CLEAN define CLEAN
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
endef endef
endif
# This is the tool to use for dependencies (i.e., none) # Windows native host tool definitions
MKDEP = $(TOPDIR)/tools/mknulldeps.sh ifeq ($(CONFIG_WINDOWS_NATIVE),y)
HOSTCC = mingw32-gcc.exe
HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS =
HOSTEXEEXT = .exe
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies # Windows-native host tools
DIRLINK = $(TOPDIR)/tools/winlink.sh MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
DIRUNLINK = $(TOPDIR)/tools/unlink.sh else
# Linux/Cygwin host tool definitions # Linux/Cygwin host tool definitions
HOSTCC = gcc HOSTCC = gcc
HOSTINCLUDES = -I. HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS = HOSTLDFLAGS =
# This is the tool to use for dependencies (i.e., none)
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)winlink.sh
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
endif

View File

@ -33,51 +33,67 @@
# #
############################################################################ ############################################################################
include ${TOPDIR}/.config include $(TOPDIR)/.config
include ${TOPDIR}/tools/Config.mk include $(TOPDIR)/tools/Config.mk
# These are the directories where the ZDS-II toolchain is installed # These are the directories where the ZDS-II toolchain is installed
ZDSVERSION := 5.1.1 ZDSVERSION := 5.1.1
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ZDSBINDIR := $(ZDSINSTALLDIR)\bin ZDSINSTALLDIR := C:/PROGRA~2/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ZDSSTDINCDIR := $(ZDSINSTALLDIR)\include\std INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)\include\zilog ZDSBINDIR := $(INSTALLDIR)\bin
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)\lib\std ZDSSTDINCDIR := $(INSTALLDIR)\include\std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)\lib\zilog 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 else
WINTOOL := y WINTOOL := y
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"} INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
ZDSBINDIR := $(INSTALLDIR)/bin ZDSBINDIR := $(INSTALLDIR)/bin
ZDSSTDINCDIR := $(INSTALLDIR)/include/std ZDSSTDINCDIR := $(INSTALLDIR)/include/std
ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog
ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(INSTALLDIR)/lib/zilog 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)'
ARCHUSRINCLUDES = -usrinc:'.'
endif endif
# 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"}
# Assembler definitions # Assembler definitions
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ARCHCPU = eZ80F91 ARCHCPU = eZ80F91
ARCHCPUDEF = _EZ80F91 ARCHCPUDEF = _EZ80F91
ARCHFAMILY = _EZ80ACCLAIM! ARCHFAMILY = _EZ80ACCLAIM!
endif endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
@ -90,8 +106,6 @@ ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn ARCHASMWARNINGS = -warn
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__ ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions # Compiler definitions
@ -108,13 +122,11 @@ ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS = ARCHPICFLAGS =
ARCHWARNINGS = -warn ARCHWARNINGS = -warn
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF) ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__ CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)/include CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
# Librarian definitions # Librarian definitions
@ -123,16 +135,16 @@ ARFLAGS = -quiet -warn
# Linker definitions # Linker definitions
LINKCMDTEMPLATE = $(TOPDIR)/configs/ez80f910200zco/nettest/nettest.linkcmd LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)ez80f910200zco$(DELIM)nettest$(DELIM)nettest.linkcmd
# Tool names/pathes # Tool names/pathes
CROSSDEV = CROSSDEV =
CC = $(ZDSBINDIR)/ez80cc.exe CC = ez80cc.exe
CPP = gcc -E CPP = gcc -E
LD = $(ZDSBINDIR)/ez80link.exe LD = ez80link.exe
AS = $(ZDSBINDIR)/ez80asm.exe AS = ez80asm.exe
AR = $(ZDSBINDIR)/ez80lib.exe AR = ez80lib.exe
# File extensions # File extensions
@ -146,51 +158,89 @@ HEXEXT = .hex
# to compile and assembly source files and to insert the resulting # to compile and assembly source files and to insert the resulting
# object files into an archive # object files into an archive
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define PREPROCESS
@echo CPP: $1->$2
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef
define COMPILE
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ASSEMBLE
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ARCHIVE
echo AR: $2
$(Q) 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 define PREPROCESS
@echo "CPP: $1->$2" @echo "CPP: $1->$2"
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2 $(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef endef
define COMPILE define COMPILE
@#echo "CC: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
endef endef
define ASSEMBLE define ASSEMBLE
@#echo "AS: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
endef endef
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
echo "AR: $2";
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
endef
else
define ARCHIVE define ARCHIVE
$(Q) for __obj in $(2) ; do \ $(Q) for __obj in $(2) ; do \
echo "AR: $$__obj"; \ echo "AR: $$__obj"; \
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \ "$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
done done
endef endef
endif
define CLEAN define CLEAN
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
endef endef
endif
# This is the tool to use for dependencies (i.e., none) # Windows native host tool definitions
MKDEP = $(TOPDIR)/tools/mknulldeps.sh ifeq ($(CONFIG_WINDOWS_NATIVE),y)
HOSTCC = mingw32-gcc.exe
HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS =
HOSTEXEEXT = .exe
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies # Windows-native host tools
DIRLINK = $(TOPDIR)/tools/winlink.sh MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
DIRUNLINK = $(TOPDIR)/tools/unlink.sh else
# Linux/Cygwin host tool definitions # Linux/Cygwin host tool definitions
HOSTCC = gcc HOSTCC = gcc
HOSTINCLUDES = -I. HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS = HOSTLDFLAGS =
# This is the tool to use for dependencies (i.e., none)
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)winlink.sh
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
endif

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# configs/ez80f910200zco/nst/Make.defs # configs/ez80f910200zco/nsh/Make.defs
# #
# Copyright (C) 2009, 2012 Gregory Nutt. All rights reserved. # Copyright (C) 2009, 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
@ -33,51 +33,67 @@
# #
############################################################################ ############################################################################
include ${TOPDIR}/.config include $(TOPDIR)/.config
include ${TOPDIR}/tools/Config.mk include $(TOPDIR)/tools/Config.mk
# These are the directories where the ZDS-II toolchain is installed # These are the directories where the ZDS-II toolchain is installed
ZDSVERSION := 5.1.1 ZDSVERSION := 5.1.1
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ZDSBINDIR := $(ZDSINSTALLDIR)\bin ZDSINSTALLDIR := C:/PROGRA~2/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ZDSSTDINCDIR := $(ZDSINSTALLDIR)\include\std INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)\include\zilog ZDSBINDIR := $(INSTALLDIR)\bin
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)\lib\std ZDSSTDINCDIR := $(INSTALLDIR)\include\std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)\lib\zilog 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 else
WINTOOL := y WINTOOL := y
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"} INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
ZDSBINDIR := $(INSTALLDIR)/bin ZDSBINDIR := $(INSTALLDIR)/bin
ZDSSTDINCDIR := $(INSTALLDIR)/include/std ZDSSTDINCDIR := $(INSTALLDIR)/include/std
ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog
ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(INSTALLDIR)/lib/zilog 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)'
ARCHUSRINCLUDES = -usrinc:'.'
endif endif
# 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"}
# Assembler definitions # Assembler definitions
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ARCHCPU = eZ80F91 ARCHCPU = eZ80F91
ARCHCPUDEF = _EZ80F91 ARCHCPUDEF = _EZ80F91
ARCHFAMILY = _EZ80ACCLAIM! ARCHFAMILY = _EZ80ACCLAIM!
endif endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
@ -90,8 +106,6 @@ ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn ARCHASMWARNINGS = -warn
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__ ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions # Compiler definitions
@ -108,13 +122,11 @@ ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS = ARCHPICFLAGS =
ARCHWARNINGS = -warn ARCHWARNINGS = -warn
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF) ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__ CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)/include CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
# Librarian definitions # Librarian definitions
@ -123,16 +135,16 @@ ARFLAGS = -quiet -warn
# Linker definitions # Linker definitions
LINKCMDTEMPLATE = $(TOPDIR)/configs/ez80f910200zco/nsh/nsh.linkcmd LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)ez80f910200zco$(DELIM)nsh$(DELIM)nsh.linkcmd
# Tool names/pathes # Tool names/pathes
CROSSDEV = CROSSDEV =
CC = $(ZDSBINDIR)/ez80cc.exe CC = ez80cc.exe
CPP = gcc -E CPP = gcc -E
LD = $(ZDSBINDIR)/ez80link.exe LD = ez80link.exe
AS = $(ZDSBINDIR)/ez80asm.exe AS = ez80asm.exe
AR = $(ZDSBINDIR)/ez80lib.exe AR = ez80lib.exe
# File extensions # File extensions
@ -146,51 +158,89 @@ HEXEXT = .hex
# to compile and assembly source files and to insert the resulting # to compile and assembly source files and to insert the resulting
# object files into an archive # object files into an archive
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define PREPROCESS
@echo CPP: $1->$2
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef
define COMPILE
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ASSEMBLE
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ARCHIVE
echo AR: $2
$(Q) 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 define PREPROCESS
@echo "CPP: $1->$2" @echo "CPP: $1->$2"
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2 $(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef endef
define COMPILE define COMPILE
@#echo "CC: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
endef endef
define ASSEMBLE define ASSEMBLE
@#echo "AS: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
endef endef
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
echo "AR: $2";
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
endef
else
define ARCHIVE define ARCHIVE
$(Q) for __obj in $(2) ; do \ $(Q) for __obj in $(2) ; do \
echo "AR: $$__obj"; \ echo "AR: $$__obj"; \
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \ "$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
done done
endef endef
endif
define CLEAN define CLEAN
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
endef endef
endif
# This is the tool to use for dependencies (i.e., none) # Windows native host tool definitions
MKDEP = $(TOPDIR)/tools/mknulldeps.sh ifeq ($(CONFIG_WINDOWS_NATIVE),y)
HOSTCC = mingw32-gcc.exe
HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS =
HOSTEXEEXT = .exe
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies # Windows-native host tools
DIRLINK = $(TOPDIR)/tools/winlink.sh MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
DIRUNLINK = $(TOPDIR)/tools/unlink.sh else
# Linux/Cygwin host tool definitions # Linux/Cygwin host tool definitions
HOSTCC = gcc HOSTCC = gcc
HOSTINCLUDES = -I. HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS = HOSTLDFLAGS =
# This is the tool to use for dependencies (i.e., none)
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)winlink.sh
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
endif

View File

@ -8,10 +8,14 @@ CONFIG_NUTTX_NEWCONFIG=y
# Build Setup # Build Setup
# #
# CONFIG_EXPERIMENTAL is not set # CONFIG_EXPERIMENTAL is not set
CONFIG_HOST_LINUX=y # CONFIG_HOST_LINUX is not set
# CONFIG_HOST_OSX is not set # CONFIG_HOST_OSX is not set
# CONFIG_HOST_WINDOWS is not set CONFIG_HOST_WINDOWS=y
# CONFIG_HOST_OTHER is not set # CONFIG_HOST_OTHER is not set
# CONFIG_WINDOWS_NATIVE is not set
CONFIG_WINDOWS_CYGWIN=y
# CONFIG_WINDOWS_MSYS is not set
# CONFIG_WINDOWS_OTHER is not set
# #
# Build Configuration # Build Configuration

View File

@ -33,51 +33,67 @@
# #
############################################################################ ############################################################################
include ${TOPDIR}/.config include $(TOPDIR)/.config
include ${TOPDIR}/tools/Config.mk include $(TOPDIR)/tools/Config.mk
# These are the directories where the ZDS-II toolchain is installed # These are the directories where the ZDS-II toolchain is installed
ZDSVERSION := 5.1.1 ZDSVERSION := 5.1.1
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
ZDSBINDIR := $(ZDSINSTALLDIR)\bin ZDSINSTALLDIR := C:/PROGRA~2/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
ZDSSTDINCDIR := $(ZDSINSTALLDIR)\include\std INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)\include\zilog ZDSBINDIR := $(INSTALLDIR)\bin
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)\lib\std ZDSSTDINCDIR := $(INSTALLDIR)\include\std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)\lib\zilog 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 else
WINTOOL := y WINTOOL := y
ZDSINSTALLDIR := C:/Program Files (x86)/ZiLOG/ZDSII_eZ80Acclaim!_$(ZDSVERSION)
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"} INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
ZDSBINDIR := $(INSTALLDIR)/bin ZDSBINDIR := $(INSTALLDIR)/bin
ZDSSTDINCDIR := $(INSTALLDIR)/include/std ZDSSTDINCDIR := $(INSTALLDIR)/include/std
ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog ZDSZILOGINCDIR := $(INSTALLDIR)/include/zilog
ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std ZDSSTDLIBDIR := $(INSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(INSTALLDIR)/lib/zilog 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)'
ARCHUSRINCLUDES = -usrinc:'.'
endif endif
# 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"}
# Assembler definitions # Assembler definitions
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ARCHCPU = eZ80F91 ARCHCPU = eZ80F91
ARCHCPUDEF = _EZ80F91 ARCHCPUDEF = _EZ80F91
ARCHFAMILY = _EZ80ACCLAIM! ARCHFAMILY = _EZ80ACCLAIM!
endif endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
@ -90,8 +106,6 @@ ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn ARCHASMWARNINGS = -warn
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__ ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILYDEF)=1 -define:__ASSEMBLY__
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION) AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
# Compiler definitions # Compiler definitions
@ -108,13 +122,11 @@ ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS = ARCHPICFLAGS =
ARCHWARNINGS = -warn ARCHWARNINGS = -warn
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF) ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILYDEF)
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES) ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__ CPPDEFINES = -D$(ARCHFAMILYDEF) -D$(ARCHCPUDEF) -D__ASSEMBLY__
CPPINCLUDES = -I$(TOPDIR)/include CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES) CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
# Librarian definitions # Librarian definitions
@ -123,16 +135,16 @@ ARFLAGS = -quiet -warn
# Linker definitions # Linker definitions
LINKCMDTEMPLATE = $(TOPDIR)/configs/ez80f910200zco/poll/poll.linkcmd LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)ez80f910200zco$(DELIM)poll$(DELIM)poll.linkcmd
# Tool names/pathes # Tool names/pathes
CROSSDEV = CROSSDEV =
CC = $(ZDSBINDIR)/ez80cc.exe CC = ez80cc.exe
CPP = gcc -E CPP = gcc -E
LD = $(ZDSBINDIR)/ez80link.exe LD = ez80link.exe
AS = $(ZDSBINDIR)/ez80asm.exe AS = ez80asm.exe
AR = $(ZDSBINDIR)/ez80lib.exe AR = ez80lib.exe
# File extensions # File extensions
@ -146,51 +158,89 @@ HEXEXT = .hex
# to compile and assembly source files and to insert the resulting # to compile and assembly source files and to insert the resulting
# object files into an archive # object files into an archive
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define PREPROCESS
@echo CPP: $1->$2
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef
define COMPILE
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ASSEMBLE
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
endef
define ARCHIVE
echo AR: $2
$(Q) 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 define PREPROCESS
@echo "CPP: $1->$2" @echo "CPP: $1->$2"
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2 $(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
endef endef
define COMPILE define COMPILE
@#echo "CC: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
endef endef
define ASSEMBLE define ASSEMBLE
@#echo "AS: $1"
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile) $(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
endef endef
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
echo "AR: $2";
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
endef
else
define ARCHIVE define ARCHIVE
$(Q) for __obj in $(2) ; do \ $(Q) for __obj in $(2) ; do \
echo "AR: $$__obj"; \ echo "AR: $$__obj"; \
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \ "$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
done done
endef endef
endif
define CLEAN define CLEAN
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst $(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
endef endef
endif
# This is the tool to use for dependencies (i.e., none) # Windows native host tool definitions
MKDEP = $(TOPDIR)/tools/mknulldeps.sh ifeq ($(CONFIG_WINDOWS_NATIVE),y)
HOSTCC = mingw32-gcc.exe
HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS =
HOSTEXEEXT = .exe
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies # Windows-native host tools
DIRLINK = $(TOPDIR)/tools/winlink.sh MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
DIRUNLINK = $(TOPDIR)/tools/unlink.sh else
# Linux/Cygwin host tool definitions # Linux/Cygwin host tool definitions
HOSTCC = gcc HOSTCC = gcc
HOSTINCLUDES = -I. HOSTINCLUDES = -I.
HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe
HOSTLDFLAGS = HOSTLDFLAGS =
# This is the tool to use for dependencies (i.e., none)
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)winlink.sh
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
endif

View File

@ -39,7 +39,7 @@ SCHEDSRCDIR = $(TOPDIR)$(DELIM)sched
ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
ifeq ($(CONFIG_WINDOWS_NATIVE),y) ifeq ($(CONFIG_WINDOWS_NATIVE),y)
USRINCLUDES = -usrinc:'.;$(SCHEDSRCDIR);$(ARCHSRCDIR);$(ARCHSRCDIR)\common' USRINCLUDES = -usrinc:".;$(SCHEDSRCDIR);$(ARCHSRCDIR);$(ARCHSRCDIR)\common"
else else
WSCHEDSRCDIR = ${shell cygpath -w $(SCHEDSRCDIR)} WSCHEDSRCDIR = ${shell cygpath -w $(SCHEDSRCDIR)}
WARCHSRCDIR = ${shell cygpath -w $(ARCHSRCDIR)} WARCHSRCDIR = ${shell cygpath -w $(ARCHSRCDIR)}