summaryrefslogtreecommitdiff
path: root/nuttx/arch/z80/src
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-12-05 16:28:33 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-12-05 16:28:33 +0000
commit73bf549bd5a335d66ef80e50b551d356386facad (patch)
tree272028af7203d4b135f3a8423d63fbb544953003 /nuttx/arch/z80/src
parent8af2006de84192fd3e33df29c971250a1eee4bea (diff)
downloadpx4-nuttx-73bf549bd5a335d66ef80e50b551d356386facad.tar.gz
px4-nuttx-73bf549bd5a335d66ef80e50b551d356386facad.tar.bz2
px4-nuttx-73bf549bd5a335d66ef80e50b551d356386facad.zip
z80sim/ostest now builds okay under Linux with SDCC 3.2.1
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5414 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/z80/src')
-rw-r--r--nuttx/arch/z80/src/Makefile.sdccl87
-rw-r--r--nuttx/arch/z80/src/Makefile.sdccw75
2 files changed, 83 insertions, 79 deletions
diff --git a/nuttx/arch/z80/src/Makefile.sdccl b/nuttx/arch/z80/src/Makefile.sdccl
index 531fbedf9..916f85b70 100644
--- a/nuttx/arch/z80/src/Makefile.sdccl
+++ b/nuttx/arch/z80/src/Makefile.sdccl
@@ -33,14 +33,12 @@
#
############################################################################
-############################################################################
# Tools
# CFLAGS, CPPFLAGS, ASFLAGS, LDFLAGS are set in $(TOPDIR)/Make.defs
CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(TOPDIR)/sched
CPPFLAGS += -D__ASSEMBLY__
-############################################################################
# Files and directories
# There should be one head source (.asm file)
@@ -81,7 +79,6 @@ LIBGCC = ${shell "$(CC)" $(ARCHCPUFLAGS) -print-libgcc-file-name}
#
HEAP_BASE = ${shell ./mkhpbase.sh}
-############################################################################
# Targets
all: $(HEAD_OBJ) libarch$(LIBEXT)
@@ -96,40 +93,39 @@ $(COBJS): %$(OBJEXT): %.c
# This is a kludge to work around some conflicting symbols in libsdcc.lib
-$(SDCC_LIBDIR)/myz80.lib: $(SDCC_LIBDIR)/$(SDCCLIB)
+$(TOPDIR)/lib/myz80.lib: $(SDCC_LIBDIR)/$(SDCCLIB)
ifeq ($(CONFIG_SDCC_OLD),y)
- $(Q) cat $(SDCC_LIBDIR)\$(SDCCLIB) | \
+ $(Q) cat $(SDCC_LIBDIR)/$(SDCCLIB) | \
grep -v alloc | grep -v free | grep -v printf | \
grep -v _str | grep -v _mem | grep -v crt0\.o \
- > myz80.lib
- $(Q) mv -f myz80.lib $(SDCC_LIBDIR)\myz80.lib
+ > $(TOPDIR)/lib/myz80.lib
else
- $(Q) cp $(SDCC_LIBDIR)\z80.lib $(SDCC_LIBDIR)\myz80.lib
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _calloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _malloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _realloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _free.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib printf_large.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib sprintf.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib vprintf.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib strcpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib strlen.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcat.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcspn.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncat.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strpbrk.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strrchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strspn.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strstr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strtok.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memcmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memcpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memset.rel
+ $(Q) cp $(SDCC_LIBDIR)/z80.lib $(TOPDIR)/lib/myz80.lib
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _calloc.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _malloc.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _realloc.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _free.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib printf_large.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib sprintf.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib vprintf.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib strcpy.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib strlen.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strcat.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strchr.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strcmp.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strcspn.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strncat.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strncmp.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strncpy.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strpbrk.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strrchr.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strspn.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strstr.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _strtok.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _memchr.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _memcmp.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _memcpy.rel
+ $(Q) sdar d $(TOPDIR)/lib/myz80.lib _memset.rel
endif
# Create a header file that contains addressing information needed by the code
@@ -173,10 +169,10 @@ board/libboard$(LIBEXT):
# This target builds the final executable
pass1.lnk:
- @echo "LD: pass1.hex"
+ @echo "LD: pass1.ihx"
@echo "--" >pass1.lnk # Non-interactive
@echo "-k $(BOARDDIR)" >>pass1.lnk # Path to board library
- @echo "-k $(SDCC_LIBDIR)" >>pass1.lnk # Path to SDCC z80 library
+ @echo "-k $(TOPDIR)/lib" >>pass1.lnk # Path to top-level lib-directory
@echo "-l libboard$(LIBEXT)" >>pass1.lnk # Name of board library
$(Q) for LIB in $(LINKLIBS); do \
echo "-l $(TOPDIR)/lib/$$LIB" >> pass1.lnk ;\
@@ -184,24 +180,25 @@ pass1.lnk:
@echo "-l myz80.lib" >>pass1.lnk # Name of SDCC z80 library
ifneq ($(CONFIG_LINKER_START_AREA),)
@echo "-b START=$(CONFIG_LINKER_START_AREA)" >>pass1.lnk # Start of START area
-else
- @echo "-b START=0" >>pass1.lnk # Start of START area
endif
ifneq ($(CONFIG_LINKER_CODE_AREA),)
@echo "-b _CODE=$(CONFIG_LINKER_CODE_AREA)" >>pass1.lnk # Start of _CODE area
else
@echo "-b _CODE=256" >>pass1.lnk # Start of _CODE area
endif
+ifneq ($(CONFIG_LINKER_DATA_AREA),)
+ @echo "-b _CODE=$(CONFIG_LINKER_DATA_AREA)" >>pass1.lnk
+endif
@echo "-i" >>pass1.lnk # Intel hex format
@echo "-x" >>pass1.lnk # Hexadecimal
@echo "-m" >>pass1.lnk # Generate a map file
@echo "-j" >>pass1.lnk # Generate a symbol file
- @echo "pass1.hex" >>pass1.lnk # Path to head object
+ @echo "pass1.ihx" >>pass1.lnk # Path to head object
@echo "$(HEAD_OBJ)" >>pass1.lnk # Path to head object
@echo "-e" >>pass1.lnk # End of script
-pass1.hex: up_mem.h asm_mem.h $(SDCC_LIBDIR)/myz80.lib $(HEAD_OBJ) board/libboard$(LIBEXT) pass1.lnk
- @echo "LD: pass1.hex"
+pass1.ihx: up_mem.h asm_mem.h $(TOPDIR)/lib/myz80.lib $(HEAD_OBJ) board/libboard$(LIBEXT) pass1.lnk
+ @echo "LD: pass1.ihx"
$(Q) $(LD) -f pass1.lnk
$(Q) rm -f up_mem.h asm_mem.h
$(Q) rm -f up_allocateheap$(OBJEXT) $(HEAD_OBJ) libarch$(LIBEXT)
@@ -211,7 +208,7 @@ pass1.hex: up_mem.h asm_mem.h $(SDCC_LIBDIR)/myz80.lib $(HEAD_OBJ) board/libboar
nuttx.lnk:
@echo "--" >nuttx.lnk # Non-interactive
@echo "-k $(BOARDDIR)" >>nuttx.lnk # Path to board library
- @echo "-k $(SDCC_LIBDIR)" >>nuttx.lnk # Path to SDCC z80 library
+ @echo "-k $(TOPDIR)/lib" >>nuttx.lnk # Path to top-level lib directory
@echo "-l libboard$(LIBEXT)" >>nuttx.lnk # Name of board library
$(Q) for LIB in $(LINKLIBS); do \
echo "-l $(TOPDIR)/lib/$$LIB" >> nuttx.lnk ;\
@@ -219,14 +216,15 @@ nuttx.lnk:
@echo "-l myz80.lib" >>nuttx.lnk # Name of SDCC z80 library
ifneq ($(CONFIG_LINKER_START_AREA),)
@echo "-b START=$(CONFIG_LINKER_START_AREA)" >>nuttx.lnk # Start of START area
-else
- @echo "-b START=0" >>nuttx.lnk # Start of START area
endif
ifneq ($(CONFIG_LINKER_CODE_AREA),)
@echo "-b _CODE=$(CONFIG_LINKER_CODE_AREA)" >>nuttx.lnk # Start of _CODE area
else
@echo "-b _CODE=256" >>nuttx.lnk # Start of _CODE area
endif
+ifneq ($(CONFIG_LINKER_DATA_AREA),)
+ @echo "-b _CODE=$(CONFIG_LINKER_DATA_AREA)" >>nuttx.lnk
+endif
@echo "-i" >>nuttx.lnk # Intel hex format
@echo "-x" >>nuttx.lnk # Hexadecimal
@echo "-m" >>nuttx.lnk # Generate a map file
@@ -235,7 +233,7 @@ endif
@echo "$(HEAD_OBJ)" >>nuttx.lnk # Path to head object
@echo "-e" >>nuttx.lnk # End of script
-nuttx$(EXEEXT): pass1.hex up_mem.h asm_mem.h $(SDCC_LIBDIR)/myz80.lib $(HEAD_OBJ) board/libboard$(LIBEXT) nuttx.lnk
+nuttx$(EXEEXT): pass1.ihx up_mem.h asm_mem.h $(TOPDIR)/lib/myz80.lib $(HEAD_OBJ) board/libboard$(LIBEXT) nuttx.lnk
@echo "LD: nuttx.ihx"
$(Q) $(LD) -f nuttx.lnk
$(Q) rm -f pass1.*
@@ -288,3 +286,4 @@ distclean: clean
$(call DELFILE, .depend)
-include Make.dep
+
diff --git a/nuttx/arch/z80/src/Makefile.sdccw b/nuttx/arch/z80/src/Makefile.sdccw
index 5841136eb..4433429bb 100644
--- a/nuttx/arch/z80/src/Makefile.sdccw
+++ b/nuttx/arch/z80/src/Makefile.sdccw
@@ -96,40 +96,39 @@ $(COBJS): %$(OBJEXT): %.c
# This is a kludge to work around some conflicting symbols in the SDCC libraries
-$(SDCC_LIBDIR)\myz80.lib: $(SDCC_LIBDIR)\$(SDCCLIB)
+$(TOPDIR)\lib\myz80.lib: $(SDCC_LIBDIR)\$(SDCCLIB)
ifeq ($(CONFIG_SDCC_OLD),y)
$(Q) cat $(SDCC_LIBDIR)\$(SDCCLIB) | \
grep -v alloc | grep -v free | grep -v printf | \
grep -v _str | grep -v _mem | grep -v crt0\.o \
- > myz80.lib
- $(Q) mv -f myz80.lib $(SDCC_LIBDIR)\myz80.lib
+ > $(TOPDIR)\lib\myz80.lib
else
- $(Q) cp $(SDCC_LIBDIR)\z80.lib $(SDCC_LIBDIR)\myz80.lib
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _calloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _malloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _realloc.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _free.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib printf_large.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib sprintf.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib vprintf.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib strcpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib strlen.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcat.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strcspn.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncat.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strncpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strpbrk.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strrchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strspn.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strstr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _strtok.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memchr.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memcmp.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memcpy.rel
- $(Q) sdar d $(SDCC_LIBDIR)\myz80.lib _memset.rel
+ $(Q) cp $(SDCC_LIBDIR)\z80.lib $(TOPDIR)\lib\myz80.lib
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _calloc.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _malloc.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _realloc.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _free.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib printf_large.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib sprintf.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib vprintf.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib strcpy.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib strlen.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strcat.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strchr.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strcmp.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strcspn.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strncat.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strncmp.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strncpy.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strpbrk.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strrchr.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strspn.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strstr.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _strtok.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _memchr.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _memcmp.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _memcpy.rel
+ $(Q) sdar d $(TOPDIR)\lib\myz80.lib _memset.rel
endif
# Create a header file that contains addressing information needed by the code
@@ -173,7 +172,7 @@ pass1.lnk:
@echo LD: pass1.lnk
@echo -->pass1.lnk
@echo -k $(BOARDDIR)>>pass1.lnk
- @echo -k $(SDCC_LIBDIR)>>pass1.lnk
+ @echo -k $(TOPDIR)\lib>>pass1.lnk
@echo -l libboard$(LIBEXT)>>pass1.lnk
$(Q) for %%G in ($(LINKLIBS)) do ( echo -l $(TOPDIR)\lib\%%G>> pass1.lnk )
@echo -l myz80.lib>>pass1.lnk
@@ -187,16 +186,19 @@ ifneq ($(CONFIG_LINKER_CODE_AREA),)
else
@echo -b _CODE=256>>pass1.lnk
endif
+ifneq ($(CONFIG_LINKER_DATA_AREA),)
+ @echo -b _CODE=$(CONFIG_LINKER_DATA_AREA)>>pass1.lnk
+endif
@echo -i>>pass1.lnk
@echo -x>>pass1.lnk
@echo -m>>pass1.lnk
@echo -j>>pass1.lnk
- @echo pass1.hex>>pass1.lnk
+ @echo pass1.ihx>>pass1.lnk
@echo $(HEAD_OBJ)>>pass1.lnk
@echo -e>>pass1.lnk
-pass1.hex: up_mem.h asm_mem.h $(SDCC_LIBDIR)\myz80.lib $(HEAD_OBJ) board\libboard$(LIBEXT) pass1.lnk
- @echo LD: pass1.hex
+pass1.ihx: up_mem.h asm_mem.h $(TOPDIR)\lib\myz80.lib $(HEAD_OBJ) board\libboard$(LIBEXT) pass1.lnk
+ @echo LD: pass1.ihx
$(Q) $(LD) -f pass1.lnk
$(Q) rm -f up_mem.h asm_mem.h
$(Q) rm -f up_allocateheap$(OBJEXT) $(HEAD_OBJ) libarch$(LIBEXT)
@@ -207,7 +209,7 @@ nuttx.lnk:
@echo LD: nuttx.lnk
@echo -->nuttx.lnk
@echo -k $(BOARDDIR)>>nuttx.lnk
- @echo -k $(SDCC_LIBDIR)>>nuttx.lnk
+ @echo -k $(TOPDIR)\lib>>nuttx.lnk
@echo -l libboard$(LIBEXT)>>nuttx.lnk
$(Q) for %%G in ($(LINKLIBS)) do ( echo -l $(TOPDIR)\lib\%%G>> nuttx.lnk )
@echo -l myz80.lib>>nuttx.lnk
@@ -221,6 +223,9 @@ ifneq ($(CONFIG_LINKER_CODE_AREA),)
else
@echo -b _CODE=256>>nuttx.lnk
endif
+ifneq ($(CONFIG_LINKER_DATA_AREA),)
+ @echo -b _CODE=$(CONFIG_LINKER_DATA_AREA)>>nuttx.lnk
+endif
@echo -i>>nuttx.lnk
@echo -x>>nuttx.lnk
@echo -m>>nuttx.lnk
@@ -229,7 +234,7 @@ endif
@echo $(HEAD_OBJ)>>nuttx.lnk
@echo -e>>nuttx.lnk
-nuttx$(EXEEXT): pass1.hex up_mem.h asm_mem.h $(SDCC_LIBDIR)\myz80.lib $(HEAD_OBJ) board\libboard$(LIBEXT) nuttx.lnk
+nuttx$(EXEEXT): pass1.ihx up_mem.h asm_mem.h $(TOPDIR)\lib\myz80.lib $(HEAD_OBJ) board\libboard$(LIBEXT) nuttx.lnk
@echo LD: nuttx.ihx
$(Q) $(LD) -f nuttx.lnk
$(call DELFILE, pass1.*)