srcdir = @srcdir@
INCDIR = $(top_srcdir)/device/include
ifndef PORTINCDIR
-PORTINCDIR = $(srcdir)/$(INCDIR)/mcs51
+PORTINCDIR = $(INCDIR)/mcs51
endif
-CC = $(top_builddir)bin/sdcc
-CPP = $(top_builddir)bin/sdcpp
+CC = $(top_builddir)/bin/sdcc
+CPP = $(top_builddir)/bin/sdcpp
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
datadir = @datadir@
+datarootdir = @datarootdir@
includedir = @includedir@
mandir = @mandir@
man1dir = $(mandir)/man1
sdcc_libdir = $(DESTDIR)$(datadir)/$(lib_dir_suffix)
CPPFLAGS = -I$(INCDIR) -I$(PORTINCDIR)
-CFLAGS = $(MODELFLAGS) --nostdinc --std-sdcc99
+CFLAGS = $(MODELFLAGS) --nostdinc --std-c99
BUILDDIR = build
# Default
OPT_DISABLE_AVR = @OPT_DISABLE_AVR@
OPT_DISABLE_DS390 = @OPT_DISABLE_DS390@
OPT_DISABLE_DS400 = @OPT_DISABLE_DS400@
+OPT_DISABLE_GBZ80 = @OPT_DISABLE_GBZ80@
OPT_DISABLE_HC08 = @OPT_DISABLE_HC08@
OPT_DISABLE_MCS51 = @OPT_DISABLE_MCS51@
OPT_DISABLE_PIC = @OPT_DISABLE_PIC@
OPT_DISABLE_XA51 = @OPT_DISABLE_XA51@
OPT_DISABLE_Z80 = @OPT_DISABLE_Z80@
-SOURCES = _atof.c _atoi.c _atol.c _autobaud.c _bp.c _schar2fs.c \
- _decdptr.c _divsint.c _divslong.c _divuint.c \
- _divulong.c _fs2schar.c _fs2sint.c _fs2slong.c \
- _fs2uchar.c _fs2uint.c _fs2ulong.c _fsadd.c \
- _fsdiv.c _fseq.c _fsgt.c _fslt.c _fscmp.c _fsmul.c \
- _fsneq.c _fssub.c _gptrget.c _gptrgetc.c _gptrput.c \
- _sint2fs.c _iscntrl.c _isdigit.c _isgraph.c \
- _islower.c _isprint.c _ispunct.c _isspace.c \
- _isupper.c _isxdigit.c _itoa.c _ltoa.c \
- _slong2fs.c \
- _memcmp.c _memcpy.c _memmove.c _memset.c \
- _modsint.c _modslong.c _moduint.c _modulong.c \
- _mulint.c _mullong.c \
- abs.c labs.c \
- _ser.c _setjmp.c \
- _spx.c _startup.c \
- _strcat.c _strchr.c _strcmp.c _strcpy.c \
- _strcspn.c _strlen.c _strncat.c _strncmp.c \
- _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
- _strstr.c _strtok.c \
- _uchar2fs.c _uint2fs.c _ulong2fs.c \
- calloc.c malloc.c realloc.c free.c \
- serial.c ser_ir.c printfl.c \
- printf_large.c sprintf.c vprintf.c puts.c gets.c \
- printf_fast.c printf_fast_f.c printf_tiny.c \
- assert.c time.c bpx.c \
- _fsget1arg.c _fsget2args.c _fsnormalize.c \
- _fsreturnval.c _fsrshift.c _fsswapargs.c _logexpf.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
+SOURCES = _autobaud.c _bp.c _decdptr.c \
+ _gptrget.c _gptrgetc.c _gptrput.c \
+ _ser.c _setjmp.c \
+ serial.c ser_ir.c \
+ _atof.c _atoi.c _atol.c _itoa.c _ltoa.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 \
+ _divsint.c _divslong.c _divuint.c _divulong.c \
+ _modsint.c _modslong.c _moduint.c _modulong.c \
+ _mulint.c _mullong.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 \
+ _spx.c _startup.c \
+ _strcat.c _strchr.c _strcmp.c _strcpy.c \
+ _strcspn.c _strlen.c _strncat.c _strncmp.c \
+ _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
+ _strstr.c _strtok.c \
+ _memcmp.c _memcpy.c _memmove.c _memset.c \
+ _heap.c calloc.c malloc.c realloc.c free.c \
+ printf_large.c sprintf.c vprintf.c puts.c gets.c \
+ printf_fast.c printf_fast_f.c printf_tiny.c printfl.c \
+ assert.c time.c bpx.c \
+ _fscmp.c _fsget1arg.c _fsget2args.c _fsnormalize.c \
+ _fsreturnval.c _fsrshift.c _fsswapargs.c _logexpf.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
OBJECTS = $(patsubst %.c,$(PORTDIR)/%.rel,$(SOURCES))
-Z80SOURCES = _atof.c _atoi.c \
- _iscntrl.c _isdigit.c _isgraph.c \
- _islower.c _isprint.c _ispunct.c _isspace.c \
- _isupper.c _isxdigit.c \
- _memcmp.c _memcpy.c _memmove.c _memset.c \
- _startup.c \
- _strcat.c _strchr.c _strcmp.c _strcpy.c \
- _strcspn.c _strlen.c _strncat.c _strncmp.c \
- _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
- _strstr.c _strtok.c \
- assert.c \
- _modslong.c _modulong.c \
- _mullong.c \
- abs.c labs.c \
- _divslong.c _divulong.c \
- calloc.c malloc.c realloc.c free.c \
- printf_large.c sprintf.c vprintf.c puts.c gets.c \
- _fs2schar.c _fs2sint.c _fs2slong.c \
- _fs2uchar.c _fs2uint.c _fs2ulong.c _fsadd.c \
- _fsdiv.c _fseq.c _fsgt.c _fslt.c _fsmul.c \
- _fsneq.c _fssub.c \
- _uchar2fs.c _uint2fs.c \
- _ulong2fs.c \
- _slong2fs.c _sint2fs.c _schar2fs.c
+Z80SOURCES = \
+ _atof.c _atoi.c _atol.c _itoa.c _ltoa.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 \
+ _divslong.c _divulong.c \
+ _modslong.c _modulong.c \
+ _mullong.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 \
+ _startup.c \
+ _strcat.c _strchr.c _strcmp.c _strcpy.c \
+ _strcspn.c _strlen.c _strncat.c _strncmp.c \
+ _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
+ _strstr.c _strtok.c \
+ _memcmp.c _memcpy.c _memmove.c _memset.c \
+ calloc.c malloc.c realloc.c free.c \
+ printf_large.c sprintf.c vprintf.c puts.c gets.c \
+ assert.c time.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
Z80OBJECTS = $(Z80SOURCES:%.c=$(PORTDIR)/%.o)
_isupper.c _isxdigit.c _slong2fs.c _memcmp.c \
_memcpy.c _memmove.c _memset.c _modsint.c _modslong.c \
_moduint.c _modulong.c _mulint.c _mullong.c \
- abs.c labs.c \
+ abs.c labs.c rand.c \
_strcat.c _strchr.c _strcmp.c _strcpy.c \
_strcspn.c _strlen.c _strncat.c _strncmp.c \
_strncpy.c _strpbrk.c _strrchr.c _strspn.c \
_strstr.c _strtok.c \
_uchar2fs.c _uint2fs.c _ulong2fs.c \
- calloc.c malloc.c realloc.c free.c \
+ _heap.c calloc.c malloc.c realloc.c free.c \
puts.c gets.c \
printf_large.c puts.c gets.c \
assert.c time.c \
XA51OBJECTS = $(XA51SOURCES:%.c=$(PORTDIR)/%.rel)
-HC08SOURCES = _atof.c _atoi.c _atol.c _schar2fs.c \
- _divsint.c _divslong.c \
- _fs2schar.c _fs2sint.c _fs2slong.c \
- _fs2uchar.c _fs2uint.c _fs2ulong.c _fsadd.c \
- _fsdiv.c _fseq.c _fsgt.c _fslt.c _fsmul.c \
- _fsneq.c _fssub.c \
- _sint2fs.c _iscntrl.c _isdigit.c _isgraph.c \
- _islower.c _isprint.c _ispunct.c _isspace.c \
- _isupper.c _isxdigit.c _itoa.c _ltoa.c \
- _slong2fs.c \
- _memcmp.c _memcpy.c _memmove.c _memset.c \
- _modsint.c _modslong.c _moduint.c _modulong.c \
- abs.c labs.c \
- _spx.c _startup.c \
- _strcat.c _strchr.c _strcmp.c _strcpy.c \
- _strcspn.c _strlen.c _strncat.c _strncmp.c \
- _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
- _strstr.c _strtok.c \
- _uchar2fs.c _uint2fs.c _ulong2fs.c \
- calloc.c malloc.c realloc.c free.c \
- printf_large.c sprintf.c vprintf.c \
- assert.c time.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
+HC08SOURCES = \
+ _atof.c _atoi.c _atol.c _itoa.c _ltoa.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 \
+ _divsint.c _divslong.c \
+ _modsint.c _modslong.c _moduint.c _modulong.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 \
+ _spx.c _startup.c \
+ _strcat.c _strchr.c _strcmp.c _strcpy.c \
+ _strcspn.c _strlen.c _strncat.c _strncmp.c \
+ _strncpy.c _strpbrk.c _strrchr.c _strspn.c \
+ _strstr.c _strtok.c \
+ _memcmp.c _memcpy.c _memmove.c _memset.c \
+ _heap.c calloc.c malloc.c realloc.c free.c \
+ printf_large.c sprintf.c vprintf.c puts.c gets.c \
+ assert.c time.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
HC08OBJECTS = $(patsubst %.c,$(PORTDIR)/%.rel,$(HC08SOURCES))
objects: build-dir $(OBJECTS) port-specific-objects lib-files clean_intermediate
models:
- if [ "`grep mcs51 $(top_builddir)ports.build`" = mcs51 ]; then \
+ if [ "`grep mcs51 $(top_builddir)/ports.build`" = mcs51 ]; then \
for model in $(MODELS); do \
$(MAKE) MODELFLAGS="--model-$$model" PORT=$$model PORTINCDIR=$(INCDIR)/mcs51 objects; \
done \
fi
small-mcs51-stack-auto:
- if [ "`grep mcs51 $(top_builddir)ports.build`" = mcs51 ]; then \
+ if [ "`grep mcs51 $(top_builddir)/ports.build`" = mcs51 ]; then \
$(MAKE) MODELFLAGS="--model-small --stack-auto" PORT=small PORTDIR=$(BUILDDIR)/small-stack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
fi
model-mcs51-stack-auto:
- if [ "`grep mcs51 $(top_builddir)ports.build`" = mcs51 ]; then \
+ if [ "`grep mcs51 $(top_builddir)/ports.build`" = mcs51 ]; then \
for model in $(MODELS); do \
$(MAKE) MODELFLAGS="--model-$$model --stack-auto" PORT=$$model PORTDIR=$(BUILDDIR)/$$model-stack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
done \
fi
model-mcs51-xstack-auto:
- if [ "`grep mcs51 $(top_builddir)ports.build`" = mcs51 ]; then \
+ if [ "`grep mcs51 $(top_builddir)/ports.build`" = mcs51 ]; then \
for model in $(MODELS); do \
$(MAKE) MODELFLAGS="--model-$$model --stack-auto --xstack" PORT=$$model PORTDIR=$(BUILDDIR)/$$model-xstack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
done \
fi
model-ds390:
- if [ "`grep ds390 $(top_builddir)ports.build`" = ds390 ]; then \
+ if [ "`grep ds390 $(top_builddir)/ports.build`" = ds390 ]; then \
$(MAKE) MODELFLAGS="-mds390" PORT=ds390 PORTINCDIR=$(INCDIR)/mcs51 objects; \
fi
model-ds400:
- if [ "`grep ds400 $(top_builddir)ports.build`" = ds400 ]; then \
+ if [ "`grep ds400 $(top_builddir)/ports.build`" = ds400 ]; then \
$(MAKE) MODELFLAGS="-mds400" PORT=ds400 PORTINCDIR=$(INCDIR)/mcs51 objects; \
fi
model-xa51:
- if [ "`grep xa51 $(top_builddir)ports.build`" = xa51 ]; then \
+ if [ "`grep xa51 $(top_builddir)/ports.build`" = xa51 ]; then \
$(MAKE) MODELFLAGS="-mxa51" PORT=xa51 objects-xa51; \
fi
cd $(PORTDIR); ls *$(OEXT) > lib$(PORT).lib
model-z80:
- if [ "`grep z80 $(top_builddir)ports.build`" = z80 ]; then \
+ if [ "`grep z80 $(top_builddir)/ports.build`" = z80 ]; then \
$(MAKE) MODELFLAGS="-mz80" PORT=z80 objects-z80 OEXT=.o; \
fi
model-gbz80:
- if [ "`grep z80 $(top_builddir)ports.build`" = z80 ]; then \
+ if [ "`grep z80 $(top_builddir)/ports.build`" = z80 ]; then \
$(MAKE) MODELFLAGS="-mgbz80" PORT=gbz80 objects-z80 OEXT=.o; \
fi
cd $(PORTDIR); ls *$(OEXT) > $(PORT).lib
model-hc08:
- if [ "`grep hc08 $(top_builddir)ports.build`" = hc08 ]; then \
+ if [ "`grep hc08 $(top_builddir)/ports.build`" = hc08 ]; then \
$(MAKE) MODELFLAGS="-mhc08" PORT=hc08 objects-hc08; \
fi
cd $(PORTDIR); ls *$(OEXT) > $(PORT).lib
model-pic16:
- if [ "`grep pic16 $(top_builddir)ports.build`" = pic16 ]; then \
+ if [ "`grep pic16 $(top_builddir)/ports.build`" = pic16 ]; then \
$(MAKE) MODELFLAGS="-mpic16" PORT=pic16 OEXT=.lib objects-pic16; \
fi
# yes, we do reuse the *-pic16 rules for pic14
model-pic14:
- if [ "`grep pic $(top_builddir)ports.build | grep -v pic16`" = pic ]; then \
+ if [ "`grep pic $(top_builddir)/ports.build | grep -v pic16`" = pic ]; then \
$(MAKE) MODELFLAGS="-mpic14" PORT=pic OEXT=.lib objects-pic16; \
fi
mkdir -p $(PORTDIR)
port-specific-objects:
- if [ -f $(PORT)/Makefile ]; then \
+ -if [ -f $(PORT)/Makefile ]; then \
$(MAKE) -C $(PORT); \
cp -f $(PORT)/*.lib $(PORT)/*$(OEXT) $(PORTDIR); \
fi
\( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
-name '*.lst' -o -name '*.asm' -o -name '.svn' -o -name 'build' -o -name 'bin' -o \
-name 'Makefile*' \) \
- -exec rm -r {} \; ; \
+ -exec rm -rf {}+ \; ; \
done
find $(sdcc_libdir)/src/mcs51 -depth \
\( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
-name '*.lst' -o -name '.svn' -o -name 'build' -o -name 'bin' -o \
-name 'Makefile*' \) \
- -exec rm -r {} \;
+ -exec rm -rf {}+ \;
# Deleting all the installed files
# --------------------------------
ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs checkconf \
clean distclean mostlyclean realclean)" ""
- include Makefile.dep
+ -include Makefile.dep
endif
include $(srcdir)/clean.mk
# Remaking configuration
# ----------------------
checkconf:
- @if [ -f $(top_builddir)devel ]; then\
+ @if [ -f $(top_builddir)/devel ]; then\
$(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" top_builddir="$(top_builddir)" \
freshconf;\
fi