X-Git-Url: https://git.gag.com/?p=fw%2Fsdcc;a=blobdiff_plain;f=device%2Flib%2FMakefile.in;h=fc5d9050ca20f06e27f6e88374bf7df6226c38b9;hp=44fc414383a62eb8d394898ff6f3f756f94e0b1f;hb=fdfbc7f2466cba296ef3316b84dd4d902add4872;hpb=fc8646bb1231e94a18de8a0349bfb505a3da9a4e diff --git a/device/lib/Makefile.in b/device/lib/Makefile.in index 44fc4143..fc5d9050 100644 --- a/device/lib/Makefile.in +++ b/device/lib/Makefile.in @@ -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)