6 VERSIONHI = @VERSIONHI@
7 VERSIONLO = @VERSIONLO@
16 INCDIR = $(PRJDIR)/device/include
18 CC = $(PRJDIR)/bin/sdcc
19 CPP = $(PRJDIR)/bin/sdcpp
22 exec_prefix = @exec_prefix@
26 includedir = @includedir@
28 man1dir = $(mandir)/man1
29 man2dir = $(mandir)/man2
33 CPPFLAGS = -I$(INCDIR)
36 OBJECTS = _atoi.rel _atol.rel _autobaud.rel _bp.rel _char2fs.rel \
37 _decdptr.rel _divsint.rel _divslong.rel _divuint.rel \
38 _divulong.rel _fs2char.rel _fs2int.rel _fs2long.rel \
39 _fs2uchar.rel _fs2uint.rel _fs2ulong.rel _fsadd.rel \
40 _fsdiv.rel _fseq.rel _fsgt.rel _fslt.rel _fsmul.rel \
41 _fsneq.rel _fssub.rel _gptrget.rel _gptrput.rel \
42 _int2fs.rel _iscntrl.rel _isdigit.rel _isgraph.rel \
43 _islower.rel _isprint.rel _ispunct.rel _isspace.rel \
44 _isupper.rel _isxdigit.rel _long2fs.rel _memcmp.rel \
45 _memcpy.rel _memset.rel _modsint.rel _modslong.rel \
46 _moduint.rel _modulong.rel _mulsint.rel _muluint.rel \
47 _mululong.rel _muslong.rel _ser.rel _setjmp.rel \
48 _spx.rel _startup.rel _strchr.rel _strcmp.rel _strcpy.rel \
49 _strcspn.rel _strlen.rel _strncat.rel _strncmp.rel \
50 _strncpy.rel _strpbrk.rel _strrchr.rel _strspn.rel \
51 _strstr.rel _strtok.rel _uchar2fs.rel _uint2fs.rel \
52 _ulong2fs.rel malloc.rel serial.rel ser_ir.rel printfl.rel \
53 printf_large.rel vprintf.rel puts.rel gets.rel \
54 assert.rel _strcat.rel
55 SOURCES = $(patsubst %.rel,%.c,$(OBJECTS))
59 # Compiling entire program or any subproject
60 # ------------------------------------------
61 all: checkconf models modelDS390
66 for model in $(MODELS); do \
67 test -d $$model || mkdir $$model; \
68 $(MAKE) CFLAGS="$(CFLAGS) --model-$$model" objects; \
75 test -d ds390 || mkdir ds390
76 $(MAKE) CFLAGS="$(CFLAGS) -mds390 --model-flat24 \
77 --stack-10bit" objects
80 mv *.rel *.asm *.cdb ds390
82 # Compiling and installing everything and runing test
83 # ---------------------------------------------------
85 $(CP) *.c $(datadir)/lib/
86 for model in $(MODELS); do \
87 [ -d $$model ] || $(MAKE) all; \
88 $(CP) $$model/*.rel *.lib $(datadir)/lib/$$model/; \
89 $(CP) $$model/*.asm $(datadir)/lib/$$model/; \
90 $(CP) $$model/*.cdb $(datadir)/lib/$$model/; \
93 $(CP) ds390/*.lib ds390/*.rel ds390/*.asm ds390/*.cbd $(datadir)/lib/ds390
96 # Deleting all the installed files
97 # --------------------------------
99 for hdr in *.h; do rm -f $(datadir)/$$hdr; done
100 for model i $(MODELS); do \
101 rm -rf $(datadir)/lib/$$model; \
103 rm -rf $(datadir)/lib/ds390
106 # Performing self-test
107 # --------------------
111 # Performing installation test
112 # ----------------------------
116 # Creating installation directories
117 # ---------------------------------
119 [ -d $(datadir)/lib ] || mkdir -p $(datadir)/lib
120 for model in $(MODELS); do \
121 [ -d $(datadir)/lib/$$model ] || \
122 mkdir -p $(datadir)/lib/$$model; \
124 [ -d $(datadir)/lib/ds390 ] || mkdir -p $(datadir)/lib/ds390
126 # Creating dependencies
127 # ---------------------
130 Makefile.dep: $(SOURCES) $(INCDIR)/*.h
131 for i in $(SOURCES); do \
132 $(CPP) -M $(CPPFLAGS) $$i >$${i}.dep; \
133 cat $${i}.dep >>Makefile.dep; \
146 $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
149 # Remaking configuration
150 # ----------------------
152 @if [ -f $(PRJDIR)/devel ]; then\
153 $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" \
157 # End of main_in.mk/main.mk