289ec1d29d74d3ca1fa1b566422f163ca0f24110
[fw/sdcc] / device / lib / Makefile.in
1 #
2 #
3 #
4
5 VERSION         = @VERSION@
6 VERSIONHI       = @VERSIONHI@
7 VERSIONLO       = @VERSIONLO@
8 VERSIONP        = @VERSIONP@
9
10 SHELL           = /bin/sh
11 CPP             = @CPP@
12 INSTALL         = @INSTALL@
13 CP              = @CP@
14
15 PRJDIR          = ../..
16 INCDIR          = $(PRJDIR)/device/include
17
18 CC              = $(PRJDIR)/bin/sdcc
19 CPP             = $(PRJDIR)/bin/sdcpp
20
21 prefix          = @prefix@
22 exec_prefix     = @exec_prefix@
23 bindir          = @bindir@
24 libdir          = @libdir@
25 datadir         = @datadir@
26 includedir      = @includedir@
27 mandir          = @mandir@
28 man1dir         = $(mandir)/man1
29 man2dir         = $(mandir)/man2
30 infodir         = @infodir@
31 srcdir          = @srcdir@
32
33 CPPFLAGS        = -I$(INCDIR) 
34 CFLAGS          = 
35
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 assert.rel _strcat.rel
54 SOURCES         = $(patsubst %.rel,%.c,$(OBJECTS))
55
56 include incl.mk
57
58 # Compiling entire program or any subproject
59 # ------------------------------------------
60 all: checkconf models
61
62 objects: $(OBJECTS)
63
64 models:
65         for model in $(MODELS); do \
66           mkdir $$model; \
67           $(MAKE) CFLAGS="$(CFLAGS) --model-$$model" objects; \
68           mv *.rel $$model; \
69           mv *.asm $$model; \
70           mv *.cdb $$model; \
71         done
72
73 # Compiling and installing everything and runing test
74 # ---------------------------------------------------
75 install: installdirs
76         $(CP) *.c $(datadir)/sdcc51lib/
77         for model in $(MODELS); do \
78          [ -d $$model ] || $(MAKE) all; \
79          $(CP) $$model/*.rel *.lib $(datadir)/sdcc51lib/$$model/; \
80          $(CP) $$model/*.asm $(datadir)/sdcc51lib/$$model/; \
81          $(CP) $$model/*.cdb $(datadir)/sdcc51lib/$$model/; \
82         done
83
84
85 # Deleting all the installed files
86 # --------------------------------
87 uninstall:
88         for hdr in *.h; do rm -f $(datadir)/$$hdr; done
89         for model i $(MODELS); do \
90           rm -rf $(datadir)/sdcc51lib/$$model; \
91         done
92
93
94 # Performing self-test
95 # --------------------
96 check:
97
98
99 # Performing installation test
100 # ----------------------------
101 installcheck:
102
103
104 # Creating installation directories
105 # ---------------------------------
106 installdirs:
107         [ -d $(datadir)/sdcc51lib ] || mkdir -p $(datadir)/sdcc51lib
108         for model in $(MODELS); do \
109          [ -d $(datadir)/sdcc51lib/$$model ] || \
110          mkdir -p $(datadir)/sdcc51lib/$$model; \
111         done
112
113
114 # Creating dependencies
115 # ---------------------
116 dep: Makefile.dep
117
118 Makefile.dep: $(SOURCES) $(INCDIR)/*.h
119         for i in $(SOURCES); do \
120           $(CPP) -M $(CPPFLAGS) $$i $${i}.dep; \
121           cat $${i}.dep >>Makefile.dep; \
122           rm $${i}.dep; \
123         done
124
125 include Makefile.dep
126 include clean.mk
127
128 # My rules
129 # --------
130
131 .SUFFIXES: .rel
132
133 .c.rel:
134         $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
135
136
137 # Remaking configuration
138 # ----------------------
139 checkconf:
140         @if [ -f $(PRJDIR)/devel ]; then\
141           $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" \
142           freshconf;\
143         fi
144
145 # End of main_in.mk/main.mk