* device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 1 Feb 2009 11:11:47 +0000 (11:11 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 1 Feb 2009 11:11:47 +0000 (11:11 +0000)
  device/lib/hc08/Makefile.in, device/lib/incl.mk,
  device/lib/z80/Makefile.in:
  don't remake libraries
* support/regression/tests/snprintf.c:

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5351 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/Makefile.in
device/lib/gbz80/Makefile.in
device/lib/hc08/Makefile.in
device/lib/incl.mk
device/lib/z80/Makefile.in
support/regression/tests/snprintf.c

index acf3e1c849491cd180b05fa49cadd8c4c9ce0c5d..f38d90aee7292ec119c965aac0f08f40b38f904c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-02-01 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
+         device/lib/hc08/Makefile.in, device/lib/incl.mk,
+         device/lib/z80/Makefile.in:
+         don't remake libraries
+       * support/regression/tests/snprintf.c:
+         reenable floating point in small-xstack-auto library
+
 2008-01-26 Raphael Neider <rneider AT web.de>
 
        * src/pic16/ralloc.c (packForPush): disabled to fix #2496919
index 44fc414383a62eb8d394898ff6f3f756f94e0b1f..fc5d9050ca20f06e27f6e88374bf7df6226c38b9 100644 (file)
@@ -69,102 +69,6 @@ OPT_DISABLE_PIC16 = @OPT_DISABLE_PIC16@
 OPT_DISABLE_XA51  = @OPT_DISABLE_XA51@
 OPT_DISABLE_Z80   = @OPT_DISABLE_Z80@
 
-COMMON_FLOAT = \
-  _atof.c \
-  _schar2fs.c \
-  _sint2fs.c \
-  _slong2fs.c \
-  _uchar2fs.c \
-  _uint2fs.c \
-  _ulong2fs.c \
-  _fs2schar.c \
-  _fs2sint.c \
-  _fs2slong.c \
-  _fs2uchar.c \
-  _fs2uint.c \
-  _fs2ulong.c \
-  _fsadd.c \
-  _fsdiv.c \
-  _fsmul.c \
-  _fssub.c \
-  _fseq.c \
-  _fsgt.c \
-  _fslt.c \
-  _fsneq.c \
-  fabsf.c \
-  frexpf.c \
-  ldexpf.c \
-  expf.c \
-  powf.c \
-  sincosf.c \
-  sinf.c \
-  cosf.c \
-  logf.c \
-  log10f.c \
-  sqrtf.c \
-  tancotf.c \
-  tanf.c \
-  cotf.c \
-  asincosf.c \
-  asinf.c \
-  acosf.c \
-  atanf.c \
-  atan2f.c \
-  sincoshf.c \
-  sinhf.c \
-  coshf.c \
-  tanhf.c \
-  floorf.c \
-  ceilf.c \
-  modff.c \
-  errno.c
-
-COMMON_LONG = \
-  _divslong.c \
-  _modslong.c \
-  _modulong.c
-
-COMMON_SDCC = \
-  _atoi.c \
-  _atol.c \
-  abs.c \
-  labs.c \
-  rand.c \
-  _iscntrl.c \
-  _isdigit.c \
-  _isgraph.c \
-  _isprint.c \
-  _ispunct.c \
-  _isspace.c \
-  _islower.c \
-  _isupper.c \
-  _isxdigit.c \
-  _strcat.c \
-  _strchr.c \
-  _strcmp.c \
-  _strcpy.c \
-  _strcspn.c \
-  _strncat.c \
-  _strncmp.c \
-  _strncpy.c \
-  _strpbrk.c \
-  _strrchr.c \
-  _strspn.c \
-  _strstr.c \
-  _strtok.c \
-  _memcmp.c \
-  _memcpy.c \
-  _memset.c \
-  _calloc.c \
-  _malloc.c \
-  _realloc.c \
-  _free.c \
-  printf_large.c \
-  puts.c \
-  gets.c \
-  assert.c \
-  time.c
-
 SOURCES_FLOAT = $(COMMON_FLOAT) \
   _fscmp.c \
   _fsget1arg.c \
@@ -220,24 +124,6 @@ OBJECTS_SDCC = $(SOURCES_SDCC:%.c=$(PORT)/%.rel)
 
 OBJECTS = $(OBJECTS_FLOAT) $(OBJECTS_INT) $(OBJECTS_LONG) $(OBJECTS_SDCC)
 
-Z80_FLOAT = $(COMMON_FLOAT)
-
-Z80_INT = $(COMMON_INT)
-
-Z80_LONG = $(COMMON_LONG) \
-  _divulong.c \
-  _mullong.c
-
-Z80_SDCC = $(COMMON_SDCC) \
-  _itoa.c \
-  _ltoa.c \
-  _startup.c \
-  sprintf.c \
-  vprintf.c
-
-Z80SOURCES = $(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC)
-Z80OBJECTS = $(Z80SOURCES:%.c=$(PORT)/%.o)
-
 XA51_FLOAT = $(COMMON_FLOAT)
 
 XA51_INT = $(COMMON_INT) \
@@ -256,31 +142,18 @@ XA51_SDCC = $(COMMON_SDCC) \
   _strlen.c \
   _heap.c
 
-XA51SOURCES = $(Z80_FLOAT) $(XA51_INT) $(XA51_LONG) $(XA51_SDCC)
+XA51SOURCES = $(XA51_FLOAT) $(XA51_INT) $(XA51_LONG) $(XA51_SDCC)
 XA51OBJECTS = $(XA51SOURCES:%.c=$(PORT)/%.rel)
 
-HC08_FLOAT = $(COMMON_FLOAT)
-
-HC08_INT = $(COMMON_INT) \
-  _divsint.c \
-  _modsint.c \
-  _moduint.c
-
-HC08_LONG = $(COMMON_LONG)
-
-HC08_SDCC = $(COMMON_SDCC) \
-  _itoa.c \
-  _ltoa.c \
-  _spx.c \
-  _startup.c \
-  _strlen.c \
-  _memmove.c \
-  _heap.c \
-  sprintf.c \
-  vprintf.c
-
-HC08SOURCES = $(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC)
-HC08OBJECTS = $(patsubst %.c,$(PORT)/%.rel,$(HC08SOURCES))
+ifeq ($(LIB_TYPE), SDCCLIB)
+LIB_FILES = $(PORTDIR)/libfloat.lib $(PORTDIR)/libint.lib $(PORTDIR)/liblong.lib $(PORTDIR)/libsdcc.lib
+else ifeq ($(LIB_TYPE), AR)
+LIB_FILES = $(PORTDIR)/libfloat.lib $(PORTDIR)/libint.lib $(PORTDIR)/liblong.lib $(PORTDIR)/libsdcc.lib
+else ifeq ($(LIB_TYPE), RANLIB)
+LIB_FILES = $(PORTDIR)/libfloat.lib $(PORTDIR)/libint.lib $(PORTDIR)/liblong.lib $(PORTDIR)/libsdcc.lib
+else
+LIB_FILES = $($(OBJECTS_FLOAT) $(OBJECTS_INT) $(OBJECTS_LONG) $(OBJECTS_SDCC) $(PORTDIR)/libfloat.lib $(PORTDIR)/libint.lib $(PORTDIR)/liblong.lib $(PORTDIR)/libsdcc.lib
+endif
 
 OEXT            = .rel
 
@@ -322,7 +195,7 @@ endif
 # ------------------------------------------
 all: checkconf $(TARGETS)
 
-objects: build-dir $(OBJECTS) port-specific-objects lib-files clean_intermediate
+objects: build-dir $(OBJECTS) port-specific-objects $(LIB_FILES) clean_intermediate
 
 models:
        if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
@@ -340,7 +213,7 @@ small-mcs51-stack-auto:
 model-mcs51-stack-auto:
        if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
          for model in $(MODELS); do \
-            mkdir -p $${model}-stack-auto; cp $${model}/Makefile $${model}-stack-auto; \
+           mkdir -p $${model}-stack-auto; cp $${model}/Makefile $${model}-stack-auto; \
            $(MAKE) MODELFLAGS="--model-$$model --stack-auto" PORT=$${model}-stack-auto PORTDIR=$(abspath $(BUILDDIR)/$${model}-stack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
          done \
        fi
@@ -349,7 +222,9 @@ model-mcs51-xstack-auto:
        if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
          for model in $(MODELS); do \
            mkdir -p $${model}-xstack-auto; cp $${model}/Makefile $${model}-xstack-auto; \
-           $(MAKE) MODELFLAGS="--model-$$model --stack-auto --xstack" PORT=$${model}-xstack-auto PORTDIR=$(abspath $(BUILDDIR)/$${model}-xstack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
+           MODELFLAGS="--model-$$model --stack-auto --xstack"; \
+           if test "$$model" = "large"; then MODELFLAGS="$$MODELFLAGS -DUSE_FLOATS=1"; fi; \
+           $(MAKE) MODELFLAGS="$$MODELFLAGS" PORT=$${model}-xstack-auto PORTDIR=$(abspath $(BUILDDIR)/$${model}-xstack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
          done \
        fi
 
@@ -369,6 +244,8 @@ model-xa51:
        fi
 
 objects-xa51: build-dir $(XA51OBJECTS) port-specific-objects
+
+$(PORTDIR)/lib$(PORT).lib: $(XA51OBJECTS)
 ifeq ($(LIB_TYPE), SDCCLIB)
        ../../bin/sdcclib -a $(PORTDIR)/lib$(PORT).lib $(XA51OBJECTS)
 else ifeq ($(LIB_TYPE), AR)
@@ -392,38 +269,14 @@ model-gbz80:
          $(MAKE) MODELFLAGS="-mgbz80" PORT=gbz80 objects-z80 OEXT=.o; \
        fi
 
-objects-z80: build-dir $(Z80OBJECTS) port-specific-objects clean_intermediate
-ifeq ($(LIB_TYPE), SDCCLIB)
-       ../../bin/sdcclib -a $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
-else ifeq ($(LIB_TYPE), AR)
-       ar -Sq $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
-else ifeq ($(LIB_TYPE), RANLIB)
-       ar -Sq $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
-       $(top_builddir)/bin/asranlib $(PORTDIR)/$(PORT).lib
-else
-       rm -f $(PORTDIR)/lib$(PORT).lib
-       for i in $(notdir $(basename $(Z80OBJECTS))); do echo $$i >> $(PORTDIR)/lib$(PORT).lib; done
-       cp $(Z80OBJECTS) $(PORTDIR)
-endif
+objects-z80: build-dir port-specific-objects clean_intermediate
 
 model-hc08:
        if grep '^hc08\>' $(top_builddir)/ports.build > /dev/null; then \
          $(MAKE) MODELFLAGS="-mhc08" PORT=hc08 objects-hc08; \
        fi
 
-objects-hc08: build-dir $(HC08OBJECTS) port-specific-objects clean_intermediate
-ifeq ($(LIB_TYPE), SDCCLIB)
-       ../../bin/sdcclib -a $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
-else ifeq ($(LIB_TYPE), AR)
-       ar -Sq $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
-else ifeq ($(LIB_TYPE), RANLIB)
-       ar -Sq $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
-       $(top_builddir)/bin/asranlib $(PORTDIR)/$(PORT).lib
-else
-       rm -f $(PORTDIR)/lib$(PORT).lib
-       for i in $(notdir $(basename $(HC08OBJECTS))); do echo $$i >> $(PORTDIR)/lib$(PORT).lib; done
-       cp $(HC08OBJECTS) $(PORTDIR)
-endif
+objects-hc08: build-dir port-specific-objects clean_intermediate
 
 model-pic16:
        if grep '^pic16\>' $(top_builddir)/ports.build > /dev/null; then \
@@ -472,7 +325,7 @@ port-specific-objects-pic14:
          cp -f $(PORT)/bin/*.* $(PORTDIR); \
        fi
 
-lib-files:
+$(LIB_FILES): $(OBJECTS_FLOAT) $(OBJECTS_INT) $(OBJECTS_LONG) $(OBJECTS_SDCC)
 ifeq ($(LIB_TYPE), SDCCLIB)
        ../../bin/sdcclib -a $(PORTDIR)/libfloat.lib $(OBJECTS_FLOAT)
        ../../bin/sdcclib -a $(PORTDIR)/libint.lib $(OBJECTS_INT)
index 1828b97186744e1c1e9e2cfbb1576725c0bada8b..fbd635b6344db8cbf4efcb56467ddf8df8253b4c 100644 (file)
@@ -13,34 +13,55 @@ SAS = $(TOPDIR)/bin/as-gbz80
 
 PORTDIR = ../build/gbz80
 
+include $(srcdir)/../incl.mk
+
+Z80_FLOAT = $(COMMON_FLOAT)
+
+Z80_INT = $(COMMON_INT)
+
+Z80_LONG = $(COMMON_LONG) \
+  _divulong.c \
+  _mullong.c
+
+Z80_SDCC = $(COMMON_SDCC) \
+  _itoa.c \
+  _ltoa.c \
+  _startup.c \
+  sprintf.c \
+  vprintf.c
+
+Z80SOURCES = $(addprefix ../,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
+Z8OBJECTS = $(patsubst %.c,%.o,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
+
 OBJ = div.o mul.o putchar.o printf.o shift.o stubs.o crt0_rle.o heap.o fstubs.o
 
 LIB = gbz80.lib
 CC = $(SCC)
 AS = $(SAS)
-CFLAGS = -I$(srcdir)/../../include -I. --std-c89
+CFLAGS = -I$(srcdir)/../../include -I. --std-c99
 
 all: $(PORTDIR)/$(LIB) crt0.o
 
-$(PORTDIR)/$(LIB): $(OBJ) Makefile _dummy
+$(PORTDIR)/$(LIB): $(OBJ) $(Z8OBJECTS) Makefile
 ifeq ($(LIB_TYPE), SDCCLIB)
        rm -f $@; \
-       ../../../bin/sdcclib -a $@ $(OBJ)
+       ../../../bin/sdcclib -a $@ $(OBJ) $(Z8OBJECTS)
 else ifeq ($(LIB_TYPE), AR)
        ar -Scq $@ $(OBJ)
 else ifeq ($(LIB_TYPE), RANLIB)
-       ar -Scq $@ $(OBJ)
+       ar -Scq $@ $(OBJ) $(Z8OBJECTS)
        $(top_builddir)/bin/asranlib $@
 else
        rm -f $@
-       for i in $(basename $(OBJ)); do echo $$i >>$@; done
-       cp $(OBJ) $(PORTDIR)
+       for i in $(basename $(OBJ) $(Z8OBJECTS)); do echo $$i >>$@; done
+       cp $(OBJ) $(Z8OBJECTS) $(PORTDIR)
 endif
 
-.c.o:
+%.o: ../%.c
        $(CC) $(CFLAGS) -c $<
 
-_dummy:
+%.o: %.c
+       $(CC) $(CFLAGS) -c $<
 
 clean:
        rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
index 7b8e7a079dfe35ace196cf381bb7f48ecb4bfb6b..1df65adfe745bf50e9444633bf2e35f3282138ed 100644 (file)
@@ -13,6 +13,31 @@ SAS = $(TOPDIR)/bin/as6808
 
 PORTDIR = ../build/hc08
 
+include $(srcdir)/../incl.mk
+
+HC08_FLOAT = $(COMMON_FLOAT)
+
+HC08_INT = $(COMMON_INT) \
+  _divsint.c \
+  _modsint.c \
+  _moduint.c
+
+HC08_LONG = $(COMMON_LONG)
+
+HC08_SDCC = $(COMMON_SDCC) \
+  _itoa.c \
+  _ltoa.c \
+  _spx.c \
+  _startup.c \
+  _strlen.c \
+  _memmove.c \
+  _heap.c \
+  sprintf.c \
+  vprintf.c
+
+HC08SOURCES = $(addprefix ../,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
+HC08OBJECTS = $(patsubst %.c,%.rel,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
+
 OBJ = _ret.rel _divuint.rel _divulong.rel _mulint.rel _mullong.rel
 
 LIB = hc08.lib
@@ -24,29 +49,30 @@ CFLAGS = -I$(srcdir)/../../include -I. --std-c99
 
 all: $(PORTDIR)/$(LIB)
 
-$(PORTDIR)/$(LIB): $(OBJ) Makefile _dummy
+$(PORTDIR)/$(LIB): $(OBJ) $(HC08OBJECTS) Makefile
 ifeq ($(LIB_TYPE), SDCCLIB)
        rm -f $@; \
-       ../../../bin/sdcclib -a $@ $(OBJ)
+       ../../../bin/sdcclib -a $@ $(OBJ) $(HC08OBJECTS)
 else ifeq ($(LIB_TYPE), AR)
-       ar -Scq $@ $(OBJ)
+       ar -Scq $@ $(OBJ) $(HC08OBJECTS)
 else ifeq ($(LIB_TYPE), RANLIB)
-       ar -Scq $@ $(OBJ)
+       ar -Scq $@ $(OBJ) $(HC08OBJECTS)
        $(top_builddir)/bin/asranlib $@
 else
        rm -f $@
-       for i in $(basename $(OBJ)); do echo $$i >>$@; done
-       cp $(OBJ) $(PORTDIR)
+       for i in $(basename $(OBJ) $(HC08OBJECTS)); do echo $$i >>$@; done
+       cp $(OBJ) $(HC08OBJECTS) $(PORTDIR)
 endif
 
+%.rel: ../%.c
+       $(CC) $(CFLAGS) -c $<
+
 %.rel: %.c
        $(CC) $(CFLAGS) -c $<
 
 %.rel: %.asm
        $(AS) $(ASFLAGS) $@ $<
 
-_dummy:
-
 clean:
        rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
 
index 5e7888ac38ab97a864d32552ac782c03ac9993cb..7ab6038b2079488f0cce6e4b4fae608b64bdf5ee 100644 (file)
@@ -1 +1,97 @@
+COMMON_FLOAT = \
+  _atof.c \
+  _schar2fs.c \
+  _sint2fs.c \
+  _slong2fs.c \
+  _uchar2fs.c \
+  _uint2fs.c \
+  _ulong2fs.c \
+  _fs2schar.c \
+  _fs2sint.c \
+  _fs2slong.c \
+  _fs2uchar.c \
+  _fs2uint.c \
+  _fs2ulong.c \
+  _fsadd.c \
+  _fsdiv.c \
+  _fsmul.c \
+  _fssub.c \
+  _fseq.c \
+  _fsgt.c \
+  _fslt.c \
+  _fsneq.c \
+  fabsf.c \
+  frexpf.c \
+  ldexpf.c \
+  expf.c \
+  powf.c \
+  sincosf.c \
+  sinf.c \
+  cosf.c \
+  logf.c \
+  log10f.c \
+  sqrtf.c \
+  tancotf.c \
+  tanf.c \
+  cotf.c \
+  asincosf.c \
+  asinf.c \
+  acosf.c \
+  atanf.c \
+  atan2f.c \
+  sincoshf.c \
+  sinhf.c \
+  coshf.c \
+  tanhf.c \
+  floorf.c \
+  ceilf.c \
+  modff.c \
+  errno.c
+
+COMMON_LONG = \
+  _divslong.c \
+  _modslong.c \
+  _modulong.c
+
+COMMON_SDCC = \
+  _atoi.c \
+  _atol.c \
+  abs.c \
+  labs.c \
+  rand.c \
+  _iscntrl.c \
+  _isdigit.c \
+  _isgraph.c \
+  _isprint.c \
+  _ispunct.c \
+  _isspace.c \
+  _islower.c \
+  _isupper.c \
+  _isxdigit.c \
+  _strcat.c \
+  _strchr.c \
+  _strcmp.c \
+  _strcpy.c \
+  _strcspn.c \
+  _strncat.c \
+  _strncmp.c \
+  _strncpy.c \
+  _strpbrk.c \
+  _strrchr.c \
+  _strspn.c \
+  _strstr.c \
+  _strtok.c \
+  _memcmp.c \
+  _memcpy.c \
+  _memset.c \
+  _calloc.c \
+  _malloc.c \
+  _realloc.c \
+  _free.c \
+  printf_large.c \
+  puts.c \
+  gets.c \
+  assert.c \
+  time.c
+
 MODELS = small medium large
index cf98fbfec31a5abbe2c3a56c60552c300b36f8cf..af72030743ea0d9fbf0465570d3f227e9db7a7f2 100644 (file)
@@ -13,6 +13,26 @@ SAS = $(TOPDIR)/bin/as-z80
 
 PORTDIR = ../build/z80
 
+include $(srcdir)/../incl.mk
+
+Z80_FLOAT = $(COMMON_FLOAT)
+
+Z80_INT = $(COMMON_INT)
+
+Z80_LONG = $(COMMON_LONG) \
+  _divulong.c \
+  _mullong.c
+
+Z80_SDCC = $(COMMON_SDCC) \
+  _itoa.c \
+  _ltoa.c \
+  _startup.c \
+  sprintf.c \
+  vprintf.c
+
+Z80SOURCES = $(addprefix ../,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
+Z8OBJECTS = $(patsubst %.c,%.o,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC))
+
 OBJ = div.o divsigned.o mod.o mul.o mulchar.o putchar.o shift.o stubs.o crt0_rle.o heap.o fstubs.o memmove.o strlen.o
 
 LIB = z80.lib
@@ -20,35 +40,36 @@ CC = $(SCC)
 AS = $(SAS)
 ASFLAGS = -plosgff
 
-CFLAGS = -I$(srcdir)/../../include -I. --std-c89
+CFLAGS = -I$(srcdir)/../../include -I. --std-c99
 
 all: $(PORTDIR)/$(LIB) $(PORTDIR)/crt0.o
 
 $(PORTDIR)/crt0.o: crt0.o
        cp crt0.o $(PORTDIR)/crt0.o
 
-$(PORTDIR)/$(LIB): $(OBJ) Makefile _dummy
+$(PORTDIR)/$(LIB): $(OBJ) $(Z8OBJECTS) Makefile
 ifeq ($(LIB_TYPE), SDCCLIB)
        rm -f $@; \
-       ../../../bin/sdcclib -a $@ $(OBJ)
+       ../../../bin/sdcclib -a $@ $(OBJ) $(Z8OBJECTS)
 else ifeq ($(LIB_TYPE), AR)
-       ar -Scq $@ $(OBJ)
+       ar -Scq $@ $(OBJ) $(Z8OBJECTS)
 else ifeq ($(LIB_TYPE), RANLIB)
-       ar -Scq $@ $(OBJ)
+       ar -Scq $@ $(OBJ) $(Z8OBJECTS)
        $(top_builddir)/bin/asranlib $@
 else
        rm -f $@; \
-       for i in $(basename $(OBJ)); do echo $$i >>$@; done
-       cp $(OBJ) $(PORTDIR)
+       for i in $(basename $(OBJ) $(Z8OBJECTS)); do echo $$i >>$@; done
+       cp $(OBJ) $(Z8OBJECTS) $(PORTDIR)
 endif
 
-.c.o:
+%.o: ../%.c
        $(CC) $(CFLAGS) -c $<
 
-.s.o:
-       $(AS) $(ASFLAGS) $@ $<
+%.o: %.c
+       $(CC) $(CFLAGS) -c $<
 
-_dummy:
+%.o: %.s
+       $(AS) $(ASFLAGS) $@ $<
 
 clean:
        rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
index 6ed6972d2d55f01e26dad02258b3a9cd34e854bf..c65054db05bbe6da919b1db0eda300d09c6d542d 100644 (file)
 
 #if defined(INT)
 
-       struct {
-               int arg;
-               char *fmt;
-               char *result;
-       } static const cases[]={
-               // arg, fmt,    result
-               {0xab,  "%04x", "00ab"},
-               {0xffff,        "0x%02X", "0xFFFF"},
-               {0xffffu,       "%u",   "65535"},
-               {1234,  "%+6d", " +1234"},
-               {12345, "% d",  " 12345"},
-               {-1234, "%d",   "-1234"},
-               {32767, "%8d",  "   32767"},
-               {1,     "%%%d", "%1"},
-               {1001,  "%08i", "00001001"},
-               {101,   "%-+8d",        "+101    "},
-               {01234, "%o(oct)",      "1234(oct)"},
-               
-               // do we want to check these:
-               #if defined(SDCC) && !defined(SDCC_z80) && CHECK_B
-               {0x4142,        "%bc %bx",      "\x41 42"},     /* non-std: print as bytes! */
-               {0xfffe,        "0x%02bX%02bx", "0xFFfe"},      /* non-std: print as bytes! */
-               #elif defined(SDCC) && defined(SDCC_z80) && CHECK_B
-               {0x4142,        "%bc %bx",      "\x42 41"},     /* non-std: print as bytes! */
-               {0xfffe,        "0x%02bX%02bx", "0xFEff"},      /* non-std: print as bytes! */
-               #endif
-       };
+struct
+{
+  int arg;
+  char *fmt;
+  char *result;
+} static const cases[] = {
+  // arg, fmt,    result
+  {0xab, "%04x", "00ab"},
+  {0xffff, "0x%02X", "0xFFFF"},
+  {0xffffu, "%u", "65535"},
+  {1234, "%+6d", " +1234"},
+  {12345, "% d", " 12345"},
+  {-1234, "%d", "-1234"},
+  {32767, "%8d", "   32767"},
+  {1, "%%%d", "%1"},
+  {1001, "%08i", "00001001"},
+  {101, "%-+8d", "+101    "},
+  {01234, "%o(oct)", "1234(oct)"},
+
+  // do we want to check these:
+#if defined(SDCC) && !defined(SDCC_z80) && CHECK_B
+  {0x4142, "%bc %bx", "\x41 42"},       /* non-std: print as bytes! */
+  {0xfffe, "0x%02bX%02bx", "0xFFfe"},   /* non-std: print as bytes! */
+#elif defined(SDCC) && defined(SDCC_z80) && CHECK_B
+  {0x4142, "%bc %bx", "\x42 41"},       /* non-std: print as bytes! */
+  {0xfffe, "0x%02bX%02bx", "0xFEff"},   /* non-std: print as bytes! */
+#endif
+};
 
 #elif defined(LONG)
 
-       struct {
-               long arg;
-               char *fmt;
-               char *result;
-       } static const cases[]={
-               // arg, fmt,    result
-               {0x12345678,    "0x%lx",        "0x12345678"},
-               {0x7fffFFFF,    "%10lx",        "  7fffffff"},
-               {0x789abcde,    "0x%-10lX",     "0x789ABCDE  "},
-               {0x1000a,       "0x%02lX",      "0x1000A"},
-               {0x80000000,    "%lu",          "2147483648"},
-               {-2147483648,   "%li",          "-2147483648"},
-               {-1234,         "%+6ld",        " -1234"},
-               {012345670123,  "%lo(oct)",     "12345670123(oct)"},
-               {0xffffFFFF,    "%lo(oct)",     "37777777777(oct)"},
-
-               // do we want to check these:
-               #if defined(SDCC) && !defined(SDCC_z80) && CHECK_B
-               {0xfedcba98,    "0x%bX%bX%bx%bx",       "0xFEDCba98"},  /* non-std: print as bytes! */
-               #elif defined(SDCC) && defined(SDCC_z80) && CHECK_B
-               {0xfedcba98,    "0x%bX%bX%bx%bx",       "0x98BAdcfe"},  /* non-std: print as bytes! */
-               #endif
-       };
+struct
+{
+  long arg;
+  char *fmt;
+  char *result;
+} static const cases[] = {
+  // arg, fmt,    result
+  {0x12345678, "0x%lx", "0x12345678"},
+  {0x7fffFFFF, "%10lx", "  7fffffff"},
+  {0x789abcde, "0x%-10lX", "0x789ABCDE  "},
+  {0x1000a, "0x%02lX", "0x1000A"},
+  {0x80000000, "%lu", "2147483648"},
+  {-2147483648, "%li", "-2147483648"},
+  {-1234, "%+6ld", " -1234"},
+  {012345670123, "%lo(oct)", "12345670123(oct)"},
+  {0xffffFFFF, "%lo(oct)", "37777777777(oct)"},
+
+  // do we want to check these:
+#if defined(SDCC) && !defined(SDCC_z80) && CHECK_B
+  {0xfedcba98, "0x%bX%bX%bx%bx", "0xFEDCba98"}, /* non-std: print as bytes! */
+#elif defined(SDCC) && defined(SDCC_z80) && CHECK_B
+  {0xfedcba98, "0x%bX%bX%bx%bx", "0x98BAdcfe"}, /* non-std: print as bytes! */
+#endif
+};
 
 #elif defined(STRING)
 
-       struct {
-               char *arg;
-               char *fmt;
-               char *result;
-       } static const cases[]={
-               // arg, fmt,    result
-               {"abcd",        "%s",   "abcd"},
-               {"abcd",        "%3s",  "abcd"},
-               {"abcd",        "%5s",  " abcd"},
-               {"abcd",        "%-5s", "abcd "},
-               {"abcd",        "%.2s", "ab"},
-               {"XYZ\\",       "%s",   "XYZ\x5c"},
-               {"ab\x1b\x7f",  "%s",   "ab\x1b\x7f"},
-               {"ab\tcd\n","%s",       "ab\tcd\n"},
-       };
+struct
+{
+  char *arg;
+  char *fmt;
+  char *result;
+} static const cases[] = {
+  // arg, fmt,    result
+  {"abcd", "%s", "abcd"},
+  {"abcd", "%3s", "abcd"},
+  {"abcd", "%5s", " abcd"},
+  {"abcd", "%-5s", "abcd "},
+  {"abcd", "%.2s", "ab"},
+  {"XYZ\\", "%s", "XYZ\x5c"},
+  {"ab\x1b\x7f", "%s", "ab\x1b\x7f"},
+  {"ab\tcd\n", "%s", "ab\tcd\n"},
+};
 
 #elif defined(FLOAT)
 
-       struct {
-               float arg;
-               char *fmt;
-               char *result;
-       } static const cases[]={
-               // arg, fmt,    result
-               // ... there should be more ...
-               #if defined(SDCC) && !defined(SDCC_ds390)
-               {1.0,   "%f",   "<NO FLOAT>"},
-               #else
-               {1.0,   "%f",   "1.000000"},
-               {1.96,  "%3.1f",        "2.0"},
-               #endif
-       };
+struct
+{
+  float arg;
+  char *fmt;
+  char *result;
+} static const cases[] = {
+  // arg, fmt,    result
+  // ... there should be more ...
+#if defined(SDCC) && !defined(SDCC_ds390) && !(defined(SDCC_mcs51) && defined(SDCC_USE_XSTACK))
+  {1.0, "%f", "<NO FLOAT>"},
+#else
+  {1.0, "%f", "1.000000"},
+  {1.96, "%3.1f", "2.0"},
+#endif
+};
 
 #endif
 
 void
-test_snprintf(void)
+test_snprintf (void)
 {
-       unsigned char buf[32];
-       unsigned char i;
-
-       memset(buf, 0xfe, sizeof buf); /* cookies all over */
-       
-       for (i=0; i<sizeof cases / sizeof cases[0]; i++) {
-               sprintf(buf,cases[i].fmt,cases[i].arg);
-               DEBUG(printf ("Test%d should be: \"%s\" is: \"%s\"\n", i, cases[i].result, buf));
-               ASSERT(!strcmp(buf,cases[i].result));
-       }
-       
-       ASSERT(buf[sizeof buf - 10] == 0xfe); /* check for cookie */
+  unsigned char buf[32];
+  unsigned char i;
+
+  memset (buf, 0xfe, sizeof buf);       /* cookies all over */
+
+  for (i = 0; i < sizeof cases / sizeof cases[0]; i++)
+    {
+      sprintf (buf, cases[i].fmt, cases[i].arg);
+      DEBUG (printf ("Test%d should be: \"%s\" is: \"%s\"\n", i, cases[i].result, buf));
+      ASSERT (!strcmp (buf, cases[i].result));
+    }
+
+  ASSERT (buf[sizeof buf - 10] == 0xfe);        /* check for cookie */
 }