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 _schar2fs.rel \
37 _decdptr.rel _divsint.rel _divslong.rel _divuint.rel \
38 _divulong.rel _fs2schar.rel _fs2sint.rel _fs2slong.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 _sint2fs.rel _iscntrl.rel _isdigit.rel _isgraph.rel \
43 _islower.rel _isprint.rel _ispunct.rel _isspace.rel \
44 _isupper.rel _isxdigit.rel _slong2fs.rel _memcmp.rel \
45 _memcpy.rel _memset.rel _modsint.rel _modslong.rel \
46 _moduint.rel _modulong.rel _mulsint.rel _muluint.rel \
47 _mululong.rel _mulslong.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
77 $(MAKE) CFLAGS="$(CFLAGS) -mds390 --model-flat24 \
78 --stack-10bit" objects
81 mv *.rel *.asm *.cdb ds390
83 # Compiling and installing everything and runing test
84 # ---------------------------------------------------
86 $(CP) *.c $(datadir)/lib/
87 for model in $(MODELS); do \
88 [ -d $$model ] || $(MAKE) all; \
89 $(CP) $$model/*.rel *.lib $(datadir)/lib/$$model/; \
90 $(CP) $$model/*.asm $(datadir)/lib/$$model/; \
91 $(CP) $$model/*.cdb $(datadir)/lib/$$model/; \
94 installDS390: installdirs
95 $(CP) ds390/*.lib ds390/*.rel ds390/*.asm ds390/*.cdb $(datadir)/lib/ds390
97 # Deleting all the installed files
98 # --------------------------------
100 for hdr in ../include/*.h; do rm -f $(datadir)/include/$$hdr; done
101 for cfl in *.c; do rm -f $(datadir)/lib/$$cfl; done
102 for model in $(MODELS); do \
103 rm -rf $(datadir)/lib/$$model; \
105 rm -rf $(datadir)/lib/ds390
108 # Performing self-test
109 # --------------------
113 # Performing installation test
114 # ----------------------------
118 # Creating installation directories
119 # ---------------------------------
121 [ -d $(datadir)/lib ] || mkdir -p $(datadir)/lib
122 for model in $(MODELS); do \
123 [ -d $(datadir)/lib/$$model ] || \
124 mkdir -p $(datadir)/lib/$$model; \
126 [ -d $(datadir)/lib/ds390 ] || mkdir -p $(datadir)/lib/ds390
128 # Creating dependencies
129 # ---------------------
132 Makefile.dep: $(SOURCES) $(INCDIR)/*.h
134 for i in $(SOURCES); do \
135 $(CPP) -M $(CPPFLAGS) $$i >$${i}.dep; \
136 cat $${i}.dep >>Makefile.dep; \
149 $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
152 # Remaking configuration
153 # ----------------------
155 @if [ -f $(PRJDIR)/devel ]; then\
156 $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" \
160 # End of main_in.mk/main.mk