sdcc_libdir = $(DESTDIR)$(datadir)/$(lib_dir_suffix)
CPPFLAGS = -I$(INCDIR) -I$(PORTINCDIR)
-CFLAGS = $(MODELFLAGS) --nostdinc
+CFLAGS = $(MODELFLAGS) --nostdinc --std-sdcc99
BUILDDIR = build
# Default
PORT = z80
+ifndef PORTDIR
PORTDIR = $(BUILDDIR)/$(PORT)
+endif
SOURCES = _atof.c _atoi.c _atol.c _autobaud.c _bp.c _schar2fs.c \
_decdptr.c _divsint.c _divslong.c _divuint.c \
# Compiling entire program or any subproject
# ------------------------------------------
-all: checkconf models model-ds390 model-ds400 model-z80 model-gbz80 model-hc08 model-pic16 model-pic14
+all: checkconf models small-mcs51-stack-auto model-ds390 model-ds400 model-z80 model-gbz80 model-hc08 model-pic16 model-pic14
objects: build-dir $(OBJECTS) port-specific-objects lib-files clean_intermediate
done \
fi
+small-mcs51-stack-auto:
+ if [ "`grep mcs51 ../../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 ../../ports.build`" = mcs51 ]; then \
for model in $(MODELS); do \
- $(MAKE) MODELFLAGS="--model-$$model --stack-auto" PORT=$$model-stack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
+ $(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 ../../ports.build`" = mcs51 ]; then \
for model in $(MODELS); do \
- $(MAKE) MODELFLAGS="--model-$$model --stack-auto --xstack" PORT=$$model-xstack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
+ $(MAKE) MODELFLAGS="--model-$$model --stack-auto --xstack" PORT=$$model PORTDIR=$(BUILDDIR)/$$model-xstack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
done \
fi
fi
objects-pic16: build-dir port-specific-objects-pic16 clean_intermediate-pic16
- cd $(PORTDIR); ls *$(OEXT) > $(PORT).lib
+ -cd $(PORTDIR); ls *$(OEXT) > $(PORT).lib
# yes, we do reuse the *-pic16 rules for pic14
model-pic14:
for srcdir in $(MODELS) ds390 ds400 gbz80 z80 hc08 pic pic16; do \
find $(sdcc_libdir)/src/$$srcdir -depth \
\( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
- -name '*.lst' -o -name '*.asm' -o -name 'CVS' -o -name 'build' -o -name 'bin' \) \
+ -name '*.lst' -o -name '*.asm' -o -name '.svn' -o -name 'build' -o -name 'bin' \) \
-exec rm -r {} \; ; \
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 'CVS' -o -name 'build' -o -name 'bin' \) \
+ -name '*.lst' -o -name '.svn' -o -name 'build' -o -name 'bin' \) \
-exec rm -r {} \;
# Deleting all the installed files
[ -d $(sdcc_libdir)/$$model ] || \
mkdir -p $(sdcc_libdir)/$$model; \
done
- [ -d $(sdcc_libdir)/ds390 ] || mkdir -p $(sdcc_libdir)/ds390
- [ -d $(sdcc_libdir)/ds400 ] || mkdir -p $(sdcc_libdir)/ds400
- [ -d $(sdcc_libdir)/hc08 ] || mkdir -p $(sdcc_libdir)/hc08
- [ -d $(sdcc_libdir)/pic16 ] || mkdir -p $(sdcc_libdir)/pic16
- [ -d $(sdcc_libdir)/pic ] || mkdir -p $(sdcc_libdir)/pic
+ for libdir in small-stack-auto ds390 ds400 hc08 pic16 pic; do \
+ [ -d $(sdcc_libdir)/$$libdir ] || mkdir -p $(sdcc_libdir)/$$libdir; \
+ done
mkdir -p $(sdcc_libdir)/src
# Creating dependencies