# # # VERSION = @VERSION@ VERSIONHI = @VERSIONHI@ VERSIONLO = @VERSIONLO@ VERSIONP = @VERSIONP@ SHELL = /bin/sh CPP = @CPP@ INSTALL = @INSTALL@ CP = @CP@ PRJDIR = ../.. INCDIR = $(PRJDIR)/device/include CC = $(PRJDIR)/bin/sdcc CPP = $(PRJDIR)/bin/sdcpp prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ datadir = @datadir@ sdcc_datadir = @sdcc_datadir@ includedir = @includedir@ mandir = @mandir@ man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 infodir = @infodir@ srcdir = @srcdir@ CPPFLAGS = -I$(INCDIR) CFLAGS = OBJECTS = _atoi.rel _atol.rel _autobaud.rel _bp.rel _schar2fs.rel \ _decdptr.rel _divsint.rel _divslong.rel _divuint.rel \ _divulong.rel _fs2schar.rel _fs2sint.rel _fs2slong.rel \ _fs2uchar.rel _fs2uint.rel _fs2ulong.rel _fsadd.rel \ _fsdiv.rel _fseq.rel _fsgt.rel _fslt.rel _fsmul.rel \ _fsneq.rel _fssub.rel _gptrget.rel _gptrput.rel \ _sint2fs.rel _iscntrl.rel _isdigit.rel _isgraph.rel \ _islower.rel _isprint.rel _ispunct.rel _isspace.rel \ _isupper.rel _isxdigit.rel _slong2fs.rel _memcmp.rel \ _memcpy.rel _memset.rel _modsint.rel _modslong.rel \ _moduint.rel _modulong.rel _mulsint.rel _muluint.rel \ _mululong.rel _mulslong.rel _ser.rel _setjmp.rel \ _spx.rel _startup.rel _strchr.rel _strcmp.rel _strcpy.rel \ _strcspn.rel _strlen.rel _strncat.rel _strncmp.rel \ _strncpy.rel _strpbrk.rel _strrchr.rel _strspn.rel \ _strstr.rel _strtok.rel _uchar2fs.rel _uint2fs.rel \ _ulong2fs.rel malloc.rel serial.rel ser_ir.rel printfl.rel \ printf_large.rel vprintf.rel puts.rel gets.rel \ assert.rel _strcat.rel time.rel SOURCES = $(patsubst %.rel,%.c,$(OBJECTS)) include incl.mk # Compiling entire program or any subproject # ------------------------------------------ all: checkconf models modelDS390 objects: $(OBJECTS) models: for model in $(MODELS); do \ test -d $$model || mkdir $$model; \ $(MAKE) CFLAGS="$(CFLAGS) --model-$$model" objects; \ mv *.rel $$model; \ mv *.asm $$model; \ mv *.cdb $$model; \ done modelDS390: if [ "`grep ds390 ../../ports.build`" = ds390 ]; then \ test -d ds390 || mkdir ds390; \ rm -f ds390/*.lib; \ $(MAKE) CFLAGS="$(CFLAGS) -mds390" objects; \ cd ds390; $(MAKE); \ cp *.lib ds390; \ mv *.rel *.asm *.cdb ds390; \ fi # Compiling and installing everything and runing test # --------------------------------------------------- install: installDS390 $(CP) *.c $(sdcc_datadir)/lib/ for model in $(MODELS); do \ [ -d $$model ] || $(MAKE) all; \ $(CP) $$model/*.rel *.lib $(sdcc_datadir)/lib/$$model/; \ $(CP) $$model/*.asm $(sdcc_datadir)/lib/$$model/; \ $(CP) $$model/*.cdb $(sdcc_datadir)/lib/$$model/; \ done installDS390: installdirs $(CP) ds390/*.lib ds390/*.rel ds390/*.asm ds390/*.cdb $(sdcc_datadir)/lib/ds390 # Deleting all the installed files # -------------------------------- uninstall: for hdr in ../include/*.h; do rm -f $(sdcc_datadir)/include/$$hdr; done for cfl in *.c; do rm -f $(sdcc_datadir)/lib/$$cfl; done for model in $(MODELS); do \ rm -rf $(sdcc_datadir)/lib/$$model; \ done rm -rf $(sdcc_datadir)/lib/ds390 # Performing self-test # -------------------- check: # Performing installation test # ---------------------------- installcheck: # Creating installation directories # --------------------------------- installdirs: [ -d $(sdcc_datadir)/lib ] || mkdir -p $(sdcc_datadir)/lib for model in $(MODELS); do \ [ -d $(sdcc_datadir)/lib/$$model ] || \ mkdir -p $(sdcc_datadir)/lib/$$model; \ done [ -d $(sdcc_datadir)/lib/ds390 ] || mkdir -p $(sdcc_datadir)/lib/ds390 # Creating dependencies # --------------------- dep: Makefile.dep Makefile.dep: $(SOURCES) $(INCDIR)/*.h rm -f Makefile.dep for i in $(SOURCES); do \ $(CPP) -M $(CPPFLAGS) $$i >$${i}.dep; \ cat $${i}.dep >>Makefile.dep; \ rm $${i}.dep; \ done include Makefile.dep include clean.mk # My rules # -------- .SUFFIXES: .rel .c.rel: $(CC) $(CPPFLAGS) $(CFLAGS) -c $< # Remaking configuration # ---------------------- checkconf: @if [ -f $(PRJDIR)/devel ]; then\ $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" \ freshconf;\ fi # End of main_in.mk/main.mk