##// END OF EJS Templates
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
jeandet -
r9:4ce02a06b2a6 default
parent child
Show More
@@ -0,0 +1,3
1 TEMPLATE = dir
2 SUBDIRS += src
3
@@ -0,0 +1,2
1 TEMPLATE = pdf
2 SOURCES += libucmake.tex
@@ -0,0 +1,19
1 \include{../../latex/header}
2 \begin{document}
3 \begin{titlepage}
4 \begin{center}
5 \textbf{\Huge Libucmake Guide}
6 \par
7 \emph{Developpers guide}
8 \par\vspace{\stretch{1}}
9 \par\hrulefill\par
10 Alexis \bsc{Jeandet}
11 \par\hrulefill\par
12 \vspace{\stretch{1}}
13 \par October 2011
14 \end{center}
15 \end{titlepage}
16 \tableofcontents
17
18
19 \end{document}
@@ -0,0 +1,28
1 #/*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
4 #--
5 #-- This program is free software; you can redistribute it and/or modify
6 #-- it under the terms of the GNU General Public License as published by
7 #-- the Free Software Foundation; either version 3 of the License, or
8 #-- (at your option) any later version.
9 #--
10 #-- This program is distributed in the hope that it will be useful,
11 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 #-- GNU General Public License for more details.
14 #--
15 #-- You should have received a copy of the GNU General Public License
16 #-- along with this program; if not, write to the Free Software
17 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #-------------------------------------------------------------------------------
19 #-- Author : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22
23
24
25 void clearstr(char* a);
26 void int2hex(unsigned long a,char*b);
27 int libucprintf(const char*,...);
28 int libucscanf(const char*,...);
@@ -0,0 +1,19
1
2 PROJECTDIR = `pwd`
3 LIBUC = /opt/libuc2
4
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/STRINGS
6 HEADERS += libucstrings.h
7 LIBSOURCES += libucstrings.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 TARGET=libucstrings
11 LIBUC_INCLUDES=
12 LIBUC_LIBRARIES=
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/STRINGS
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/STRINGS
15 BSP=generic
16 include $(ARCH)/rules.mk
17
18 all:lib
19 @echo Code compiled
@@ -0,0 +1,318
1 #/*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
4 #--
5 #-- This program is free software; you can redistribute it and/or modify
6 #-- it under the terms of the GNU General Public License as published by
7 #-- the Free Software Foundation; either version 3 of the License, or
8 #-- (at your option) any later version.
9 #--
10 #-- This program is distributed in the hope that it will be useful,
11 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 #-- GNU General Public License for more details.
14 #--
15 #-- You should have received a copy of the GNU General Public License
16 #-- along with this program; if not, write to the Free Software
17 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #-------------------------------------------------------------------------------
19 #-- Author : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22 #include <stdarg.h>
23 #include "libucstrings.h"
24 extern void consoleputc(char);
25 extern char consolegetc();
26 #define _x_prtconv_(a) printhexfromint((a),39)
27 #define _X_prtconv_(a) printhexfromint((a),7)
28 #define _d_prtconv_(a) printdecfromint((a))
29
30 #define _x_scnconv_() scanintfromhex()
31 #define _d_scnconv_() scanintfromdec()
32
33 void clearch(char* a)
34 {
35 while((*a))
36 *a++=' ';
37 a--;
38 *a='\n';
39 }
40
41
42 int scanintfromdec()
43 {
44 char c[8]=" ";
45 int e=0;
46 int result=0;
47 do
48 {
49 c[e] = consolegetc();
50 consoleputc(c[e]);
51 if(((c[e] & 0xF0) == 0x30))
52 e++;
53 }while( (c[e]!='\n') && (e<8));
54 libucprintf("\n%d number(s) read\n",e);
55 int i=0;
56 while((i<e))
57 {
58 c[i]&=0x0F;
59 result = (result*10) + c[i];
60 libucprintf("iterration %d c[i]=%d result=%d\n",i,c[i],result);
61 i++;
62 }
63 return result;
64 }
65
66
67 int scanintfromhex()
68 {
69 char c[8]=" ";
70 int e=0;
71 int result=0;
72 do
73 {
74 c[e] = consolegetc();
75 consoleputc(c[e]);
76 if(((c[e] & 0xF0) == 0x30)||((c[e]&0xF8)==0x40)||((c[e]&0xF8)==0x60))
77 e++;
78 }while( (c[e]!='\n') && (e<8));
79 int i=0;
80 libucprintf("\n%d number(s) read\n",e);
81 while(i<e)
82 {
83 libucprintf("c[i] = %x\n",c[i]);
84 if((c[i]&0xF8)==0x60)
85 {
86 c[i]-=39;
87 }
88 else
89 {
90 if((c[i]&0xF8)==0x40)
91 {
92 c[i]-=7;
93 }
94 else
95 {
96 c[i]&=0x0F;
97 }
98 }
99 result = result*16 + c[i];
100 i++;
101 }
102 return result;
103 }
104
105 void printhexfromint(int a, int caseoffset)
106 {
107 char c[8]=" ";
108 int e=0;
109 while(e<8)
110 {
111 c[e] = a & 0xF;
112 if(c[e]>9)
113 {
114 c[e] = c[e]+caseoffset;
115 }
116 c[e] = c[e] + 0x30;
117 a=a>>4;
118 e++;
119 }
120 while(c[--e]=='0');
121 e++;
122 while(e-->0)
123 consoleputc(c[e]);
124 }
125
126
127 void printdecfromint(int a)
128 {
129 char c[10]=" ";
130 int e=0;
131 int d=a;
132 if((d & 0x80000000) == 0x80000000)
133 {
134 d ^= -1;
135 d++;
136 consoleputc('-');
137 }
138 while(d>0 && e<10)
139 {
140 c[e++] = 0x30 + (d % 10);
141 d = d / 10;
142 }
143 while(e-->0)
144 consoleputc(c[e]);
145 }
146
147 void int2hex(unsigned long a,char*b)
148 {
149 char*d = b;
150 char c[16]=" ";
151 int e=0;
152 while(e<8)
153 {
154 c[e] = a & 0xF;
155 if(c[e]>9)
156 {
157 c[e] = c[e]+7;
158 }
159 c[e] = c[e] + 0x30;
160 a=a>>4;
161 e++;
162 }
163 for(e=(e-1);e>=0;e--)
164 {
165 *d=c[e];
166 d = d +1;
167 }
168 }
169
170 /// Partialy implemented printf function capable to compute %d,x,X conversions
171 int libucprintf(const char* format,...)
172 {
173 int nout=0;
174 va_list ap;
175 va_start(ap,format);
176 while(*format)
177 {
178 if(*format!='%')
179 {
180 consoleputc(*format++);
181 nout++;
182 }
183 else
184 {
185 format++;
186 if(*format!='%')
187 {
188 switch(*format)
189 {
190 case 'c':
191 consoleputc((char)va_arg(ap,int));
192 format++;
193 break;
194 case 'd':
195 _d_prtconv_(va_arg(ap,int)) ;
196 format++;
197 break;
198 case 'e':
199 va_arg(ap,int);
200 format++;
201 break;
202 case 'E':
203 va_arg(ap,int);
204 format++;
205 break;
206 case 'f':
207 va_arg(ap,int);
208 format++;
209 break;
210 case 's':
211 va_arg(ap,int);
212 format++;
213 break;
214 case 'x':
215 _x_prtconv_(va_arg(ap,int)) ;
216 format++;
217 break;
218 case 'X':
219 _X_prtconv_(va_arg(ap,int)) ;
220 format++;
221 break;
222 case '%':
223 consoleputc(*format++);
224 break;
225 default:
226 va_arg(ap,int);
227 format++;
228 break;
229 }
230 }
231 else
232 {
233 consoleputc(*format++);
234 nout++;
235 }
236 }
237 }
238 va_end(ap);
239 return nout;
240 }
241
242
243 int libucscanf(const char* format,...)
244 {
245 int nin=0;
246 int* value;
247 va_list ap;
248 va_start(ap,format);
249 while(*format)
250 {
251 while(*format!='%')format++;
252 format++;
253 libucprintf("find %%%c\n",*format);
254 switch(*format)
255 {
256 case 'c':
257 va_arg(ap,int*);
258 format++;
259 break;
260 case 'd':
261 value = (int*)va_arg(ap,int*);
262 *value=_d_scnconv_() ;
263 format++;
264 break;
265 case 'e':
266 va_arg(ap,int*);
267 format++;
268 break;
269 case 'E':
270 va_arg(ap,int*);
271 format++;
272 break;
273 case 'f':
274 va_arg(ap,int*);
275 format++;
276 break;
277 case 's':
278 va_arg(ap,int*);
279 format++;
280 break;
281 case 'u':
282 va_arg(ap,int*);
283 format++;
284 break;
285 case 'x':
286 value = (int*)va_arg(ap,int*);
287 *value = _x_scnconv_();
288 format++;
289 break;
290 case 'X':
291 value = (int*)va_arg(ap,int*);
292 *value = _x_scnconv_();
293 format++;
294 break;
295 default:
296 va_arg(ap,int*);
297 format++;
298 break;
299 }
300
301 }
302 va_end(ap);
303 return nin;
304 }
305
306
307
308
309
310
311
312
313
314
315
316
317
318
@@ -0,0 +1,28
1 #/*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
4 #--
5 #-- This program is free software; you can redistribute it and/or modify
6 #-- it under the terms of the GNU General Public License as published by
7 #-- the Free Software Foundation; either version 3 of the License, or
8 #-- (at your option) any later version.
9 #--
10 #-- This program is distributed in the hope that it will be useful,
11 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 #-- GNU General Public License for more details.
14 #--
15 #-- You should have received a copy of the GNU General Public License
16 #-- along with this program; if not, write to the Free Software
17 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #-------------------------------------------------------------------------------
19 #-- Author : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22
23
24
25 void clearstr(char* a);
26 void int2hex(unsigned long a,char*b);
27 int libucprintf(const char*,...);
28 int libucscanf(const char*,...);
@@ -0,0 +1,12
1 TEMPLATE = lib
2 ARCH = lpc17XX-arm-noabi-gcc
3 TARGET = libucstrings
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR_UCSTRINGS)
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_UCSTRINGS)
6
7 LIBS +=
8
9 SOURCES += libucstrings.c
10
11
12 HEADERS += libucstrings.h
@@ -1,530 +1,530
1 This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2011.9.8) 24 DEC 2011 00:23
1 This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2011.9.8) 24 DEC 2011 03:00
2 2 entering extended mode
3 3 %&-line parsing enabled.
4 4 **PortingGuide.tex
5 5 (./PortingGuide.tex
6 6 LaTeX2e <2005/12/01>
7 7 Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
8 8 yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ng
9 9 erman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish,
10 10 french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibyc
11 11 us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, por
12 12 tuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish,
13 13 turkish, ukenglish, ukrainian, loaded.
14 14 \@input{../../latex/header.aux}
15 15 ! I can't write on file `../../latex/header.aux'.
16 16 \@include ...\immediate \openout \@partaux #1.aux
17 17 \immediate \write \@partau...
18 18 l.1 \include{../../latex/header}
19 19
20 20 Please type another output file name:
21 21 \openout2 = `header.tex'.
22 22
23 23 (../../latex/header.tex (/usr/share/texmf/tex/latex/base/book.cls
24 24 Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
25 25 (/usr/share/texmf/tex/latex/base/bk10.clo
26 26 File: bk10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
27 27 )
28 28 \c@part=\count79
29 29 \c@chapter=\count80
30 30 \c@section=\count81
31 31 \c@subsection=\count82
32 32 \c@subsubsection=\count83
33 33 \c@paragraph=\count84
34 34 \c@subparagraph=\count85
35 35 \c@figure=\count86
36 36 \c@table=\count87
37 37 \abovecaptionskip=\skip41
38 38 \belowcaptionskip=\skip42
39 39 \bibindent=\dimen102
40 40 )
41 41 (/usr/share/texmf/tex/latex/base/inputenc.sty
42 42 Package: inputenc 2006/05/05 v1.1b Input encoding file
43 43 \inpenc@prehook=\toks14
44 44 \inpenc@posthook=\toks15
45 45
46 46 (/usr/share/texmf/tex/latex/base/utf8.def
47 47 File: utf8.def 2006/03/30 v1.1i UTF-8 support for inputenc
48 48 Now handling font encoding OML ...
49 49 ... no UTF-8 mapping file for font encoding OML
50 50 Now handling font encoding T1 ...
51 51 ... processing UTF-8 mapping file for font encodingT1
52 52
53 53 (/usr/share/texmf/tex/latex/base/t1enc.dfu
54 54 File: t1enc.dfu 2006/03/30 v1.1i UTF-8 support for inputenc
55 55 defining Unicode char U+00A1 (decimal 161)
56 56 defining Unicode char U+00A3 (decimal 163)
57 57 defining Unicode char U+00AB (decimal 171)
58 58 defining Unicode char U+00BB (decimal 187)
59 59 defining Unicode char U+00BF (decimal 191)
60 60 defining Unicode char U+00C0 (decimal 192)
61 61 defining Unicode char U+00C1 (decimal 193)
62 62 defining Unicode char U+00C2 (decimal 194)
63 63 defining Unicode char U+00C3 (decimal 195)
64 64 defining Unicode char U+00C4 (decimal 196)
65 65 defining Unicode char U+00C5 (decimal 197)
66 66 defining Unicode char U+00C6 (decimal 198)
67 67 defining Unicode char U+00C7 (decimal 199)
68 68 defining Unicode char U+00C8 (decimal 200)
69 69 defining Unicode char U+00C9 (decimal 201)
70 70 defining Unicode char U+00CA (decimal 202)
71 71 defining Unicode char U+00CB (decimal 203)
72 72 defining Unicode char U+00CC (decimal 204)
73 73 defining Unicode char U+00CD (decimal 205)
74 74 defining Unicode char U+00CE (decimal 206)
75 75 defining Unicode char U+00CF (decimal 207)
76 76 defining Unicode char U+00D0 (decimal 208)
77 77 defining Unicode char U+00D1 (decimal 209)
78 78 defining Unicode char U+00D2 (decimal 210)
79 79 defining Unicode char U+00D3 (decimal 211)
80 80 defining Unicode char U+00D4 (decimal 212)
81 81 defining Unicode char U+00D5 (decimal 213)
82 82 defining Unicode char U+00D6 (decimal 214)
83 83 defining Unicode char U+00D8 (decimal 216)
84 84 defining Unicode char U+00D9 (decimal 217)
85 85 defining Unicode char U+00DA (decimal 218)
86 86 defining Unicode char U+00DB (decimal 219)
87 87 defining Unicode char U+00DC (decimal 220)
88 88 defining Unicode char U+00DD (decimal 221)
89 89 defining Unicode char U+00DE (decimal 222)
90 90 defining Unicode char U+00DF (decimal 223)
91 91 defining Unicode char U+00E0 (decimal 224)
92 92 defining Unicode char U+00E1 (decimal 225)
93 93 defining Unicode char U+00E2 (decimal 226)
94 94 defining Unicode char U+00E3 (decimal 227)
95 95 defining Unicode char U+00E4 (decimal 228)
96 96 defining Unicode char U+00E5 (decimal 229)
97 97 defining Unicode char U+00E6 (decimal 230)
98 98 defining Unicode char U+00E7 (decimal 231)
99 99 defining Unicode char U+00E8 (decimal 232)
100 100 defining Unicode char U+00E9 (decimal 233)
101 101 defining Unicode char U+00EA (decimal 234)
102 102 defining Unicode char U+00EB (decimal 235)
103 103 defining Unicode char U+00EC (decimal 236)
104 104 defining Unicode char U+00ED (decimal 237)
105 105 defining Unicode char U+00EE (decimal 238)
106 106 defining Unicode char U+00EF (decimal 239)
107 107 defining Unicode char U+00F0 (decimal 240)
108 108 defining Unicode char U+00F1 (decimal 241)
109 109 defining Unicode char U+00F2 (decimal 242)
110 110 defining Unicode char U+00F3 (decimal 243)
111 111 defining Unicode char U+00F4 (decimal 244)
112 112 defining Unicode char U+00F5 (decimal 245)
113 113 defining Unicode char U+00F6 (decimal 246)
114 114 defining Unicode char U+00F8 (decimal 248)
115 115 defining Unicode char U+00F9 (decimal 249)
116 116 defining Unicode char U+00FA (decimal 250)
117 117 defining Unicode char U+00FB (decimal 251)
118 118 defining Unicode char U+00FC (decimal 252)
119 119 defining Unicode char U+00FD (decimal 253)
120 120 defining Unicode char U+00FE (decimal 254)
121 121 defining Unicode char U+00FF (decimal 255)
122 122 defining Unicode char U+0102 (decimal 258)
123 123 defining Unicode char U+0103 (decimal 259)
124 124 defining Unicode char U+0104 (decimal 260)
125 125 defining Unicode char U+0105 (decimal 261)
126 126 defining Unicode char U+0106 (decimal 262)
127 127 defining Unicode char U+0107 (decimal 263)
128 128 defining Unicode char U+010C (decimal 268)
129 129 defining Unicode char U+010D (decimal 269)
130 130 defining Unicode char U+010E (decimal 270)
131 131 defining Unicode char U+010F (decimal 271)
132 132 defining Unicode char U+0110 (decimal 272)
133 133 defining Unicode char U+0111 (decimal 273)
134 134 defining Unicode char U+0118 (decimal 280)
135 135 defining Unicode char U+0119 (decimal 281)
136 136 defining Unicode char U+011A (decimal 282)
137 137 defining Unicode char U+011B (decimal 283)
138 138 defining Unicode char U+011E (decimal 286)
139 139 defining Unicode char U+011F (decimal 287)
140 140 defining Unicode char U+0130 (decimal 304)
141 141 defining Unicode char U+0131 (decimal 305)
142 142 defining Unicode char U+0132 (decimal 306)
143 143 defining Unicode char U+0133 (decimal 307)
144 144 defining Unicode char U+0139 (decimal 313)
145 145 defining Unicode char U+013A (decimal 314)
146 146 defining Unicode char U+013D (decimal 317)
147 147 defining Unicode char U+013E (decimal 318)
148 148 defining Unicode char U+0141 (decimal 321)
149 149 defining Unicode char U+0142 (decimal 322)
150 150 defining Unicode char U+0143 (decimal 323)
151 151 defining Unicode char U+0144 (decimal 324)
152 152 defining Unicode char U+0147 (decimal 327)
153 153 defining Unicode char U+0148 (decimal 328)
154 154 defining Unicode char U+014A (decimal 330)
155 155 defining Unicode char U+014B (decimal 331)
156 156 defining Unicode char U+0150 (decimal 336)
157 157 defining Unicode char U+0151 (decimal 337)
158 158 defining Unicode char U+0152 (decimal 338)
159 159 defining Unicode char U+0153 (decimal 339)
160 160 defining Unicode char U+0154 (decimal 340)
161 161 defining Unicode char U+0155 (decimal 341)
162 162 defining Unicode char U+0158 (decimal 344)
163 163 defining Unicode char U+0159 (decimal 345)
164 164 defining Unicode char U+015A (decimal 346)
165 165 defining Unicode char U+015B (decimal 347)
166 166 defining Unicode char U+015E (decimal 350)
167 167 defining Unicode char U+015F (decimal 351)
168 168 defining Unicode char U+0160 (decimal 352)
169 169 defining Unicode char U+0161 (decimal 353)
170 170 defining Unicode char U+0162 (decimal 354)
171 171 defining Unicode char U+0163 (decimal 355)
172 172 defining Unicode char U+0164 (decimal 356)
173 173 defining Unicode char U+0165 (decimal 357)
174 174 defining Unicode char U+016E (decimal 366)
175 175 defining Unicode char U+016F (decimal 367)
176 176 defining Unicode char U+0170 (decimal 368)
177 177 defining Unicode char U+0171 (decimal 369)
178 178 defining Unicode char U+0178 (decimal 376)
179 179 defining Unicode char U+0179 (decimal 377)
180 180 defining Unicode char U+017A (decimal 378)
181 181 defining Unicode char U+017B (decimal 379)
182 182 defining Unicode char U+017C (decimal 380)
183 183 defining Unicode char U+017D (decimal 381)
184 184 defining Unicode char U+017E (decimal 382)
185 185 defining Unicode char U+200C (decimal 8204)
186 186 defining Unicode char U+2013 (decimal 8211)
187 187 defining Unicode char U+2014 (decimal 8212)
188 188 defining Unicode char U+2018 (decimal 8216)
189 189 defining Unicode char U+2019 (decimal 8217)
190 190 defining Unicode char U+201A (decimal 8218)
191 191 defining Unicode char U+201C (decimal 8220)
192 192 defining Unicode char U+201D (decimal 8221)
193 193 defining Unicode char U+201E (decimal 8222)
194 194 defining Unicode char U+2030 (decimal 8240)
195 195 defining Unicode char U+2031 (decimal 8241)
196 196 defining Unicode char U+2039 (decimal 8249)
197 197 defining Unicode char U+203A (decimal 8250)
198 198 defining Unicode char U+2423 (decimal 9251)
199 199 )
200 200 Now handling font encoding OT1 ...
201 201 ... processing UTF-8 mapping file for font encodingOT1
202 202
203 203 (/usr/share/texmf/tex/latex/base/ot1enc.dfu
204 204 File: ot1enc.dfu 2006/03/30 v1.1i UTF-8 support for inputenc
205 205 defining Unicode char U+00A1 (decimal 161)
206 206 defining Unicode char U+00A3 (decimal 163)
207 207 defining Unicode char U+00B8 (decimal 184)
208 208 defining Unicode char U+00BF (decimal 191)
209 209 defining Unicode char U+00C5 (decimal 197)
210 210 defining Unicode char U+00C6 (decimal 198)
211 211 defining Unicode char U+00D8 (decimal 216)
212 212 defining Unicode char U+00DF (decimal 223)
213 213 defining Unicode char U+00E6 (decimal 230)
214 214 defining Unicode char U+00EC (decimal 236)
215 215 defining Unicode char U+00ED (decimal 237)
216 216 defining Unicode char U+00EE (decimal 238)
217 217 defining Unicode char U+00EF (decimal 239)
218 218 defining Unicode char U+00F8 (decimal 248)
219 219 defining Unicode char U+0131 (decimal 305)
220 220 defining Unicode char U+0141 (decimal 321)
221 221 defining Unicode char U+0142 (decimal 322)
222 222 defining Unicode char U+0152 (decimal 338)
223 223 defining Unicode char U+0153 (decimal 339)
224 224 defining Unicode char U+2013 (decimal 8211)
225 225 defining Unicode char U+2014 (decimal 8212)
226 226 defining Unicode char U+2018 (decimal 8216)
227 227 defining Unicode char U+2019 (decimal 8217)
228 228 defining Unicode char U+201C (decimal 8220)
229 229 defining Unicode char U+201D (decimal 8221)
230 230 )
231 231 Now handling font encoding OMS ...
232 232 ... processing UTF-8 mapping file for font encodingOMS
233 233
234 234 (/usr/share/texmf/tex/latex/base/omsenc.dfu
235 235 File: omsenc.dfu 2006/03/30 v1.1i UTF-8 support for inputenc
236 236 defining Unicode char U+00A7 (decimal 167)
237 237 defining Unicode char U+00B6 (decimal 182)
238 238 defining Unicode char U+00B7 (decimal 183)
239 239 defining Unicode char U+2020 (decimal 8224)
240 240 defining Unicode char U+2021 (decimal 8225)
241 241 defining Unicode char U+2022 (decimal 8226)
242 242 )
243 243 Now handling font encoding OMX ...
244 244 ... no UTF-8 mapping file for font encoding OMX
245 245 Now handling font encoding U ...
246 246 ... no UTF-8 mapping file for font encoding U
247 247 defining Unicode char U+00A9 (decimal 169)
248 248 defining Unicode char U+00AA (decimal 170)
249 249 defining Unicode char U+00AE (decimal 174)
250 250 defining Unicode char U+00BA (decimal 186)
251 251 defining Unicode char U+02C6 (decimal 710)
252 252 defining Unicode char U+02DC (decimal 732)
253 253 defining Unicode char U+200C (decimal 8204)
254 254 defining Unicode char U+2026 (decimal 8230)
255 255 defining Unicode char U+2122 (decimal 8482)
256 256 defining Unicode char U+2423 (decimal 9251)
257 257 ))
258 258 (/usr/share/texmf/tex/latex/base/fontenc.sty
259 259 Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
260 260
261 261 (/usr/share/texmf/tex/latex/base/t1enc.def
262 262 File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
263 263 LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
264 264 ))
265 265 (/usr/share/texmf/tex/latex/lm/lmodern.sty
266 266 Package: lmodern 2007/01/14 v1.3 Latin Modern Fonts
267 267 LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
268 268 (Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 13.
269 269 LaTeX Font Info: Overwriting symbol font `letters' in version `normal'
270 270 (Font) OML/cmm/m/it --> OML/lmm/m/it on input line 14.
271 271 LaTeX Font Info: Overwriting symbol font `symbols' in version `normal'
272 272 (Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 15.
273 273 LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal'
274 274 (Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 16.
275 275 LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
276 276 (Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 17.
277 277 LaTeX Font Info: Overwriting symbol font `letters' in version `bold'
278 278 (Font) OML/cmm/b/it --> OML/lmm/b/it on input line 18.
279 279 LaTeX Font Info: Overwriting symbol font `symbols' in version `bold'
280 280 (Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 19.
281 281 LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold'
282 282 (Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 20.
283 283 LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal'
284 284 (Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 22.
285 285 LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal'
286 286 (Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 23.
287 287 LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal'
288 288 (Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 24.
289 289 LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal'
290 290 (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 25.
291 291 LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold'
292 292 (Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26.
293 293 LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
294 294 (Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 27.
295 295 LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
296 296 (Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 28.
297 297 LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
298 298 (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 29.
299 299 )
300 300 (/usr/share/texmf/tex/latex/geometry/geometry.sty
301 301 Package: geometry 2002/07/08 v3.2 Page Geometry
302 302
303 303 (/usr/share/texmf/tex/latex/graphics/keyval.sty
304 304 Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
305 305 \KV@toks@=\toks16
306 306 )
307 307 \Gm@cnth=\count88
308 308 \Gm@cntv=\count89
309 309 \c@Gm@tempcnt=\count90
310 310 \Gm@bindingoffset=\dimen103
311 311 \Gm@wd@mp=\dimen104
312 312 \Gm@odd@mp=\dimen105
313 313 \Gm@even@mp=\dimen106
314 314 \Gm@dimlist=\toks17
315 315 )
316 316 (/usr/share/texmf/tex/generic/babel/babel.sty
317 317 Package: babel 2005/11/23 v3.8h The Babel package
318 318
319 319 (/usr/share/texmf/tex/generic/babel/frenchb.ldf
320 320 Language: french 2005/02/06 v1.6g French support from the babel system
321 321
322 322 (/usr/share/texmf/tex/generic/babel/babel.def
323 323 File: babel.def 2005/11/23 v3.8h Babel common definitions
324 324 \babel@savecnt=\count91
325 325 \U@D=\dimen107
326 326 )
327 327 Package babel Info: Making : an active character on input line 219.
328 328 Package babel Info: Making ; an active character on input line 220.
329 329 Package babel Info: Making ! an active character on input line 221.
330 330 Package babel Info: Making ? an active character on input line 222.
331 331 LaTeX Font Info: Redeclaring font encoding T1 on input line 299.
332 332 \parindentFFN=\dimen108
333 333 \std@mcc=\count92
334 334 \dec@mcc=\count93
335 335
336 336 *************************************
337 337 * Local config file frenchb.cfg used
338 338 *
339 339 (/usr/share/texmf/tex/generic/babel/frenchb.cfg)))
340 340 (/usr/share/texmf/tex/latex/listings/listings.sty
341 341 \lst@mode=\count94
342 342 \lst@gtempboxa=\box26
343 343 \lst@token=\toks18
344 344 \lst@length=\count95
345 345 \lst@currlwidth=\dimen109
346 346 \lst@column=\count96
347 347 \lst@pos=\count97
348 348 \lst@lostspace=\dimen110
349 349 \lst@width=\dimen111
350 350 \lst@newlines=\count98
351 351 \lst@lineno=\count99
352 352 \c@lstlisting=\count100
353 353 \lst@maxwidth=\dimen112
354 354
355 355 (/usr/share/texmf/tex/latex/listings/lstpatch.sty
356 356 File: lstpatch.sty 2004/10/17 1.3b (Carsten Heinz)
357 357 )
358 358 (/usr/share/texmf/tex/latex/listings/lstmisc.sty
359 359 File: lstmisc.sty 2004/09/07 1.3 (Carsten Heinz)
360 360 \c@lstnumber=\count101
361 361 \lst@skipnumbers=\count102
362 362 \lst@framebox=\box27
363 363 )
364 364 (/usr/share/texmf/tex/latex/listings/listings.cfg
365 365 File: listings.cfg 2004/09/05 1.3 listings configuration
366 366 ))
367 367 Package: listings 2004/10/17 1.3b (Carsten Heinz)
368 368
369 369 (/usr/share/texmf/tex/latex/listings/lstlang1.sty
370 370 File: lstlang1.sty 2004/09/05 1.3 listings language file
371 371 )
372 372 (/usr/share/texmf/tex/latex/listings/lstmisc.sty
373 373 File: lstmisc.sty 2004/09/07 1.3 (Carsten Heinz)
374 374 )) (./PortingGuide.aux
375 375 (./streamdevices.aux) (./uart.aux) (./spi.aux) (./addresseddevices.aux))
376 376 \openout1 = `PortingGuide.aux'.
377 377
378 378 LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 2.
379 379 LaTeX Font Info: ... okay on input line 2.
380 380 LaTeX Font Info: Checking defaults for T1/lmr/m/n on input line 2.
381 381 LaTeX Font Info: Try loading font information for T1+lmr on input line 2.
382 382
383 383 (/usr/share/texmf/tex/latex/lm/t1lmr.fd
384 384 File: t1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
385 385 )
386 386 LaTeX Font Info: ... okay on input line 2.
387 387 LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 2.
388 388 LaTeX Font Info: ... okay on input line 2.
389 389 LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 2.
390 390 LaTeX Font Info: ... okay on input line 2.
391 391 LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 2.
392 392 LaTeX Font Info: ... okay on input line 2.
393 393 LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 2.
394 394 LaTeX Font Info: ... okay on input line 2.
395 395 -------------------- Geometry parameters
396 396 paper: a4paper
397 397 landscape: --
398 398 twocolumn: --
399 399 twoside: true
400 400 asymmetric: --
401 401 h-parts: 71.70166pt, 0.7\paperwidth , 107.55254pt (default)
402 402 v-parts: 101.40665pt, 0.7\paperheight , 152.11pt (default)
403 403 hmarginratio: 2:3
404 404 vmarginratio: 2:3
405 405 lines: --
406 406 heightrounded: --
407 407 bindingoffset: 0.0pt
408 408 truedimen: --
409 409 includehead: --
410 410 includefoot: --
411 411 includemp: --
412 412 driver: pdftex
413 413 -------------------- Page layout dimensions and switches
414 414 \paperwidth 597.50787pt
415 415 \paperheight 845.04684pt
416 416 \textwidth 418.25368pt
417 417 \textheight 591.5302pt
418 418 \oddsidemargin -0.56833pt
419 419 \evensidemargin 35.28255pt
420 420 \topmargin -0.93083pt
421 421 \headheight 12.0pt
422 422 \headsep 18.06749pt
423 423 \footskip 25.29494pt
424 424 \marginparwidth 125.0pt
425 425 \marginparsep 7.0pt
426 426 \columnsep 10.0pt
427 427 \skip\footins 9.0pt plus 4.0pt minus 2.0pt
428 428 \hoffset 0.0pt
429 429 \voffset 0.0pt
430 430 \mag 1000
431 431 \@twosidetrue \@mparswitchtrue
432 432 (1in=72.27pt, 1cm=28.45pt)
433 433 -----------------------
434 434 LaTeX Info: Redefining \dots on input line 2.
435 435 [1
436 436
437 437
438 438
439 439
440 440 {/usr/share/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2
441 441
442 442 ] (./PortingGuide.toc
443 443 LaTeX Font Info: Try loading font information for OT1+lmr on input line 4.
444 444
445 445 (/usr/share/texmf/tex/latex/lm/ot1lmr.fd
446 446 File: ot1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
447 447 )
448 448 LaTeX Font Info: Try loading font information for OML+lmm on input line 4.
449 449
450 450 (/usr/share/texmf/tex/latex/lm/omllmm.fd
451 451 File: omllmm.fd 2007/01/14 v1.3 Font defs for Latin Modern
452 452 )
453 453 LaTeX Font Info: Try loading font information for OMS+lmsy on input line 4.
454 454
455 455 (/usr/share/texmf/tex/latex/lm/omslmsy.fd
456 456 File: omslmsy.fd 2007/01/14 v1.3 Font defs for Latin Modern
457 457 )
458 458 LaTeX Font Info: Try loading font information for OMX+lmex on input line 4.
459 459
460 460 (/usr/share/texmf/tex/latex/lm/omxlmex.fd
461 461 File: omxlmex.fd 2007/01/14 v1.3 Font defs for Latin Modern
462 462 )
463 463 LaTeX Font Info: External font `lmex10' loaded for size
464 464 (Font) <10> on input line 4.
465 465 LaTeX Font Info: External font `lmex10' loaded for size
466 466 (Font) <7> on input line 4.
467 467 LaTeX Font Info: External font `lmex10' loaded for size
468 468 (Font) <5> on input line 4.
469 469 )
470 470 \tf@toc=\write3
471 471 \openout3 = `PortingGuide.toc'.
472 472
473 473 [3]
474 474 \openout2 = `streamdevices.aux'.
475 475
476 476 (./streamdevices.tex [4
477 477
478 478
479 479 ]
480 480 Chapitre 1.
481 481 LaTeX Font Info: Try loading font information for OMS+lmr on input line 11.
482 482 (/usr/share/texmf/tex/latex/lm/omslmr.fd
483 483 File: omslmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
484 484 )
485 485 LaTeX Font Info: Font shape `OMS/lmr/m/n' in size <10> not available
486 486 (Font) Font shape `OMS/lmsy/m/n' tried instead on input line 11.
487 487 ) [5]
488 488 \openout2 = `uart.aux'.
489 489
490 490 (./uart.tex) [6
491 491
492 492
493 493 ]
494 494 \openout2 = `spi.aux'.
495 495
496 496 (./spi.tex)
497 497 \openout2 = `addresseddevices.aux'.
498 498
499 499
500 500 (./addresseddevices.tex
501 501 Chapitre 2.
502 502 ) [7
503 503
504 504
505 505
506 506
507 507
508 508 ] (./PortingGuide.aux (./streamdevices.aux) (./uart.aux) (./spi.aux)
509 509 (./addresseddevices.aux)) )
510 510 Here is how much of TeX's memory you used:
511 511 3462 strings out of 256216
512 512 43395 string characters out of 1917073
513 513 99152 words of memory out of 1500000
514 514 6695 multiletter control sequences out of 10000+200000
515 515 59126 words of font info for 39 fonts, out of 1200000 for 2000
516 516 645 hyphenation exceptions out of 8191
517 517 30i,4n,51p,264b,1291s stack positions out of 5000i,500n,6000p,200000b,15000s
518 518 {/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc}{/usr
519 519 /share/texmf/fonts/enc/dvips/lm/lm-mathsy.enc}</usr/share/texmf/fonts/type1/pub
520 520 lic/lm/lmbx10.pfb></usr/share/texmf/fonts/type1/public/lm/lmbx12.pfb></usr/shar
521 521 e/texmf/fonts/type1/public/lm/lmcsc10.pfb></usr/share/texmf/fonts/type1/public/
522 522 lm/lmr10.pfb></usr/share/texmf/fonts/type1/public/lm/lmr7.pfb></usr/share/texmf
523 523 /fonts/type1/public/lm/lmri10.pfb></usr/share/texmf/fonts/type1/public/lm/lmro1
524 524 0.pfb></usr/share/texmf/fonts/type1/public/lm/lmsy10.pfb>
525 525 Output written on PortingGuide.pdf (7 pages, 170208 bytes).
526 526 PDF statistics:
527 527 60 PDF objects out of 1000 (max. 8388607)
528 528 0 named destinations out of 1000 (max. 131072)
529 529 1 words of extra memory for PDF output out of 10000 (max. 10000000)
530 530
1 NO CONTENT: modified file, binary diff hidden
@@ -1,69 +1,120
1 1 #!/bin/bash
2 2 #/*------------------------------------------------------------------------------
3 3 #-- This file is a part of the libuc, microcontroler library
4 4 #-- Copyright (C) 2011, Alexis Jeandet
5 5 #--
6 6 #-- This program is free software; you can redistribute it and/or modify
7 7 #-- it under the terms of the GNU General Public License as published by
8 8 #-- the Free Software Foundation; either version 3 of the License, or
9 9 #-- (at your option) any later version.
10 10 #--
11 11 #-- This program is distributed in the hope that it will be useful,
12 12 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 13 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 14 #-- GNU General Public License for more details.
15 15 #--
16 16 #-- You should have received a copy of the GNU General Public License
17 17 #-- along with this program; if not, write to the Free Software
18 18 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 19 #-------------------------------------------------------------------------------
20 20 #-- Author : Alexis Jeandet
21 21 #-- Mail : alexis.jeandet@gmail.com
22 22 #-------------------------------------------------------------------------------*/
23 23
24 24 function getFilesList {
25 25 sed ':a;N;$!ba;s/\\\n/ /g' $1 | sed ':a;N;$!ba;s/\\ \n/ /g' | grep -i $2 | sed 's/\t//g'
26 26 }
27 27
28 28
29 29 function Template {
30 30 TEMPLATE=`more $1 | grep -i "TEMPLATE " | sed s/TEMPLATE// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
31 31 }
32 32
33 33 function Arch {
34 if [ -z "$2" ] ; then
34 35 ARCH=`more $1 | grep -i "ARCH " | sed s/ARCH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
36 else
37 ARCH=`more $1 | grep -i "$2.ARCH " | sed s/$2'\.'ARCH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
38 fi
35 39 }
36 40
37 41 function Target {
42 if [ -z "$2" ] ; then
38 43 TARGET=`more $1 | grep -i "TARGET " | sed s/TARGET// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
44 else
45 TARGET=`more $1 | grep -i "$2.TARGET " | sed s/$2'\.'TARGET// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
46 fi
47 }
48
49 function Targets {
50 TARGETS=`more $1 | grep -i ".SOURCES" | sed 's/\.SOURCES.*//'`
39 51 }
40 52
41 53 function Libs_Inc {
54 if [ -z "$2" ] ; then
42 55 INCLUDEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
43 56 for FILES in $INCLUDEStmp
44 57 do
45 INCLUDES+='$('"LIBUC_INC_DIR_$FILES) "
58 INCLUDES+='$('"LIBUC_INC_DIR_""$FILES""_CMD) "
46 59 done
60 else
61 INCLUDEStmp=`more $1 | grep -i "$2.LIBS " | sed s/$2'\.'LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
62 for FILES in $INCLUDEStmp
63 do
64 INCLUDES+='$('"LIBUC_INC_DIR_""$FILES""_CMD) "
65 done
66 fi
67
47 68 }
69
48 70 function Libs_Link {
71 if [ -z "$2" ] ; then
49 72 LIBRARIEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
50 73 for FILES in $LIBRARIEStmp
51 74 do
52 LIBRARIES+='$('"LIBUC_LIBS_DIR_$FILES) "'$('"LIBUC_LIBS_$FILES) "
75 LIBRARIES+='$('"LIBUC_LIBS_DIR_""$FILES""_CMD) "'$('"LIBUC_LIBS_$FILES) "
53 76 done
77 else
78 LIBRARIEStmp=`more $1 | grep -i "$2.LIBS " | sed s/$2'\.'LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
79 for FILES in $LIBRARIEStmp
80 do
81 LIBRARIES+='$('"LIBUC_LIBS_DIR_""$FILES""_CMD) "'$('"LIBUC_LIBS_$FILES) "
82 done
83 fi
84
54 85 }
55 86
56 87 function HeadersInstallPath {
88 if [ -z "$2" ] ; then
57 89 HEADERSINSTALLPATH=`more $1 | grep -i "HEADERSINSTALLPATH" | sed s/HEADERSINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
90 else
91 HEADERSINSTALLPATH=`more $1 | grep -i "$2.HEADERSINSTALLPATH" | sed s/$2'\.'HEADERSINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
92 fi
93
58 94 }
59 95
60 96 function TargetInstallPath {
97 if [ -z "$2" ] ; then
61 98 TARGETINSTALLPATH=`more $1 | grep -i "TARGETINSTALLPATH" | sed s/TARGETINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
99 else
100 TARGETINSTALLPATH=`more $1 | grep -i "$2.TARGETINSTALLPATH" | sed s/$2'\.'TARGETINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
101 fi
102
62 103 }
63 104
64 105 function getBSP {
65
106 if [ -z "$2" ] ; then
66 107 if(more $1 | grep -i "BSP ="); then
67 108 BSP=`more $1 | grep -i "BSP" | sed s/BSP// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
68 109 fi
110 else
111 if(more $1 | grep -i "$2.BSP ="); then
112 BSP=`more $1 | grep -i "$2.BSP" | sed s/$2'\.'BSP// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
113 fi
114 fi
115
69 116 }
117
118
119
120
@@ -1,72 +1,89
1 1 #!/bin/bash
2 2 #/*------------------------------------------------------------------------------
3 3 #-- This file is a part of the libuc, microcontroler library
4 4 #-- Copyright (C) 2011, Alexis Jeandet
5 5 #--
6 6 #-- This program is free software; you can redistribute it and/or modify
7 7 #-- it under the terms of the GNU General Public License as published by
8 8 #-- the Free Software Foundation; either version 3 of the License, or
9 9 #-- (at your option) any later version.
10 10 #--
11 11 #-- This program is distributed in the hope that it will be useful,
12 12 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 13 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 14 #-- GNU General Public License for more details.
15 15 #--
16 16 #-- You should have received a copy of the GNU General Public License
17 17 #-- along with this program; if not, write to the Free Software
18 18 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 19 #-------------------------------------------------------------------------------
20 20 #-- Author : Alexis Jeandet
21 21 #-- Mail : alexis.jeandet@gmail.com
22 22 #-------------------------------------------------------------------------------*/
23 23 TEMPLATE=""
24 24 ARCH=""
25 25 TARGET=""
26 26 SRCFILES=""
27 27 INCLUDES=""
28 28 LIBRARIES=""
29 29 HEADERSINSTALLPATH=""
30 30 TARGETINSTALLPATH=""
31 31 BSP="generic"
32 32
33 33 scriptPath=${0%/*}
34 34 source $scriptPath/functions
35 35
36 36 if [ -z "$1" ] ; then
37 37 echo "try to find a project file ..."
38 38 TMP=`ls *.pro`
39 39 i=1
40 40 for Files in $TMP
41 41 do
42 42 echo "found $Files"
43 43 PROJECTFILES[i]=$Files
44 44 i=$((i + 1))
45 45 done
46 46 if [ -z "${PROJECTFILES[1]}" ]; then
47 47 exit
48 48 else
49 49 PROJECTFILE=${PROJECTFILES[1]}
50 50 fi
51 51
52 52 else
53 53 PROJECTFILE=$1
54 54 fi
55 55
56 56 CURRENTDIR=`pwd`
57 57 Template $PROJECTFILE
58 58 echo '' > Makefile
59 59 echo 'PROJECTDIR = `pwd`'>> Makefile
60 60 echo "LIBUC = $libuc2" >> Makefile
61 61
62 62
63 63
64 64 source $scriptPath/templates/libucmake-$TEMPLATE
65 65 template-run
66 66
67 67
68 68
69 69
70 70
71 71
72 72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
@@ -1,67 +1,122
1 1 #!/bin/bash
2 2 #/*------------------------------------------------------------------------------
3 3 #-- This file is a part of the libuc, microcontroler library
4 4 #-- Copyright (C) 2011, Alexis Jeandet
5 5 #--
6 6 #-- This program is free software; you can redistribute it and/or modify
7 7 #-- it under the terms of the GNU General Public License as published by
8 8 #-- the Free Software Foundation; either version 3 of the License, or
9 9 #-- (at your option) any later version.
10 10 #--
11 11 #-- This program is distributed in the hope that it will be useful,
12 12 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 13 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 14 #-- GNU General Public License for more details.
15 15 #--
16 16 #-- You should have received a copy of the GNU General Public License
17 17 #-- along with this program; if not, write to the Free Software
18 18 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 19 #-------------------------------------------------------------------------------
20 20 #-- Author : Alexis Jeandet
21 21 #-- Mail : alexis.jeandet@gmail.com
22 22 #-------------------------------------------------------------------------------*/
23 23
24 24 function template-run {
25
25 Targets $PROJECTFILE
26 if [ -z "$TARGETS" ] ; then
27 echo "Single Target"
26 28 Target $PROJECTFILE
27 29 Arch $PROJECTFILE
28 30 Libs_Inc $PROJECTFILE
29 31 Libs_Link $PROJECTFILE
30 32 HeadersInstallPath $PROJECTFILE
31 33 TargetInstallPath $PROJECTFILE
32 34 getBSP $PROJECTFILE
33 35 echo "Current BSP is $BSP"
34 36 echo $SRCFILES >> Makefile
35 37 getFilesList $PROJECTFILE HEADERS >> Makefile
36 38 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/APPSOURCES/' >> Makefile
37 39
38 40 echo "========================================================================="
39 41 echo " M A K E F I L E G E N E R A T I O N "
40 42 echo "-------------------------------------------------------------------------"
41 43 echo " Template = application "
42 44 echo " Architecture = $ARCH "
43 45 echo " Current Board Support package is $BSP "
44 46 echo " Output file = $TARGET "
45 47 echo "========================================================================="
46 48 echo ""
47 49 echo " Start Writing Makefile ..."
48 50 echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> Makefile
49 echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
51 echo "ARCH = $ARCH" >> Makefile
52 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
50 53 echo "TARGET=$TARGET">> Makefile
51 54 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
52 55 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
53 56 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
54 57 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
55 58 echo "BSP=$BSP">> Makefile
56 echo 'include $(ARCH)/rules.mk' >> Makefile
59 echo 'include $(ARCHFOLDER)/rules.mk' >> Makefile
57 60 echo '' >> Makefile
58 61 echo 'all:bin' >> Makefile
59 62 echo " @echo Code compiled" >> Makefile
60 63 echo '' >> Makefile
61 64 echo " Makefile writing finished"
62 65 echo ""
63 66 echo "========================================================================="
64 67 echo ""
68 else
69 echo "Multi targets"
70 echo "" >> Makefile
71 echo "all:" >> Makefile
72 for ITEMS in $TARGETS
73 do
74 echo 'PROJECTDIR = `pwd`'> $ITEMS.mk
75 echo "LIBUC = $libuc2" >> $ITEMS.mk
76 Target $PROJECTFILE $ITEMS
77 Arch $PROJECTFILE $ITEMS
78 Libs_Inc $PROJECTFILE $ITEMS
79 Libs_Link $PROJECTFILE $ITEMS
80 HeadersInstallPath $PROJECTFILE $ITEMS
81 TargetInstallPath $PROJECTFILE $ITEMS
82 getBSP $PROJECTFILE $ITEMS
83 echo "Current BSP is $BSP"
84 echo $SRCFILES >> $ITEMS.mk
85 getFilesList $PROJECTFILE $ITEMS.HEADERS | sed s/$ITEMS'\.'// >> $ITEMS.mk
86 getFilesList $PROJECTFILE $ITEMS.SOURCES | sed s/$ITEMS'\.'SOURCES/LIBSOURCES/ >> $ITEMS.mk
87
88 echo "========================================================================="
89 echo " M A K E F I L E G E N E R A T I O N "
90 echo "-------------------------------------------------------------------------"
91 echo " Template = application "
92 echo " Architecture = $ARCH "
93 echo " Current Board Support package is $BSP "
94 echo " Output file = $TARGET "
95 echo "========================================================================="
96 echo ""
97 echo " Start Writing Makefile ..."
98 echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> $ITEMS.mk
99 echo "ARCH = $ARCH" >> $ITEMS.mk
100 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> $ITEMS.mk
101 echo "TARGET=$TARGET">> $ITEMS.mk
102 echo "LIBUC_INCLUDES=$INCLUDES">> $ITEMS.mk
103 echo "LIBUC_LIBRARIES=$LIBRARIES">> $ITEMS.mk
104 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> $ITEMS.mk
105 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> $ITEMS.mk
106 echo "BSP=$BSP">> $ITEMS.mk
107 echo 'include $(ARCHFOLDER)/rules.mk' >> $ITEMS.mk
108 echo '' >> $ITEMS.mk
109 echo 'all:bin' >> $ITEMS.mk
110 echo " @echo Code compiled" >> $ITEMS.mk
111 echo '' >> $ITEMS.mk
112 echo " Makefile writing finished"
113 echo ""
114 echo "========================================================================="
115 echo ""
116 echo " make -f $ITEMS.mk" >> Makefile
117 done
118 fi
119
65 120 }
66 121
67 122
@@ -1,63 +1,119
1 1 #!/bin/bash
2 2 #/*------------------------------------------------------------------------------
3 3 #-- This file is a part of the libuc, microcontroler library
4 4 #-- Copyright (C) 2011, Alexis Jeandet
5 5 #--
6 6 #-- This program is free software; you can redistribute it and/or modify
7 7 #-- it under the terms of the GNU General Public License as published by
8 8 #-- the Free Software Foundation; either version 3 of the License, or
9 9 #-- (at your option) any later version.
10 10 #--
11 11 #-- This program is distributed in the hope that it will be useful,
12 12 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 13 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 14 #-- GNU General Public License for more details.
15 15 #--
16 16 #-- You should have received a copy of the GNU General Public License
17 17 #-- along with this program; if not, write to the Free Software
18 18 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 19 #-------------------------------------------------------------------------------
20 20 #-- Author : Alexis Jeandet
21 21 #-- Mail : alexis.jeandet@gmail.com
22 22 #-------------------------------------------------------------------------------*/
23 23
24 24 function template-run {
25 Targets $PROJECTFILE
26 if [ -z "$TARGETS" ] ; then
27 echo "Single Target"
25 28 Target $PROJECTFILE
26 29 Arch $PROJECTFILE
27 30 Libs_Inc $PROJECTFILE
28 31 Libs_Link $PROJECTFILE
29 32 HeadersInstallPath $PROJECTFILE
30 33 TargetInstallPath $PROJECTFILE
31 34 getBSP $PROJECTFILE
32 35 echo "Current BSP is $BSP"
33 36 echo $SRCFILES >> Makefile
34 37 getFilesList $PROJECTFILE HEADERS >> Makefile
35 38 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/LIBSOURCES/' >> Makefile
36 39
37 40 echo "========================================================================="
38 41 echo " M A K E F I L E G E N E R A T I O N "
39 42 echo "-------------------------------------------------------------------------"
40 43 echo " Template = library "
41 44 echo " Architecture = $ARCH "
42 45 echo " Output file = $TARGET "
43 46 echo "========================================================================="
44 47 echo ""
45 48 echo " Start Writing Makefile ..."
46 49 echo 'OBJECTFILES = $(LIBSOURCES:.c=.o)'>> Makefile
47 echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
50 echo "ARCH = $ARCH" >> Makefile
51 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
48 52 echo "TARGET=$TARGET">> Makefile
49 53 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
50 54 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
51 55 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
52 56 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
53 57 echo "BSP=$BSP">> Makefile
54 echo 'include $(ARCH)/rules.mk' >> Makefile
58 echo 'include $(ARCHFOLDER)/rules.mk' >> Makefile
55 59 echo '' >> Makefile
56 60 echo 'all:lib' >> Makefile
57 61 echo " @echo Code compiled" >> Makefile
58 62 echo " Makefile writing finished"
59 63 echo ""
60 64 echo "========================================================================="
61 65 echo ""
66
67 else
68 echo "Multi targets"
69 echo "" >> Makefile
70 echo "all:" >> Makefile
71 for ITEMS in $TARGETS
72 do
73 echo 'PROJECTDIR = `pwd`'> $ITEMS.mk
74 echo "LIBUC = $libuc2" >> $ITEMS.mk
75 Target $PROJECTFILE $ITEMS
76 Arch $PROJECTFILE $ITEMS
77 Libs_Inc $PROJECTFILE $ITEMS
78 Libs_Link $PROJECTFILE $ITEMS
79 HeadersInstallPath $PROJECTFILE $ITEMS
80 TargetInstallPath $PROJECTFILE $ITEMS
81 getBSP $PROJECTFILE $ITEMS
82 echo "Current BSP is $BSP"
83 echo $SRCFILES >> $ITEMS.mk
84 getFilesList $PROJECTFILE $ITEMS.HEADERS | sed s/$ITEMS'\.'// >> $ITEMS.mk
85 getFilesList $PROJECTFILE $ITEMS.SOURCES | sed s/$ITEMS'\.'SOURCES/LIBSOURCES/ >> $ITEMS.mk
86
87 echo "========================================================================="
88 echo " M A K E F I L E G E N E R A T I O N "
89 echo "-------------------------------------------------------------------------"
90 echo " Template = library "
91 echo " Architecture = $ARCH "
92 echo " Output file = $TARGET "
93 echo "========================================================================="
94 echo ""
95 echo " Start Writing Makefile ..."
96 echo 'OBJECTFILES = $(LIBSOURCES:.c=.o)'>> $ITEMS.mk
97 echo "ARCH = $ARCH" >> $ITEMS.mk
98 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> $ITEMS.mk
99 echo "TARGET=$TARGET">> $ITEMS.mk
100 echo "LIBUC_INCLUDES=$INCLUDES">> $ITEMS.mk
101 echo "LIBUC_LIBRARIES=$LIBRARIES">> $ITEMS.mk
102 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> $ITEMS.mk
103 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> $ITEMS.mk
104 echo "BSP=$BSP">> $ITEMS.mk
105 echo 'include $(ARCHFOLDER)/rules.mk' >> $ITEMS.mk
106 echo '' >> $ITEMS.mk
107 echo 'all:lib' >> $ITEMS.mk
108 echo " @echo Code compiled" >> $ITEMS.mk
109 echo " Makefile writing finished"
110 echo ""
111 echo "========================================================================="
112 echo ""
113 echo " make -f $ITEMS.mk" >> Makefile
114 done
115 fi
116
117
62 118 }
63 119
1 NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR)/LandTiger
6 6 HEADERS += bsp.h
7 7 LIBSOURCES += bsp.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libbsp
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_IIC) $(LIBUC_INC_DIR_CORE)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_IIC) $(LIBUC_LIBS_IIC) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_IIC_CMD) $(LIBUC_INC_DIR_CORE_CMD)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_IIC_CMD) $(LIBUC_LIBS_IIC) $(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/LandTiger
14 15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/LandTiger
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR)/generic
6 6 HEADERS += bsp.h
7 7 LIBSOURCES += bsp.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libbsp
11 12 LIBUC_INCLUDES=
12 13 LIBUC_LIBRARIES=
13 14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/generic
14 15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/generic
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR)/mbed
6 6 HEADERS += bsp.h
7 7 LIBSOURCES += bsp.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libbsp
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/mbed
14 15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/mbed
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERS +=
6 6 APPSOURCES += main.c
7 7 OBJECTFILES = $(APPSOURCES:.c=.o)
8 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
8 ARCH = lpc17XX-arm-noabi-gcc
9 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 10 TARGET=lpc1768_led_blink
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART)
12 13 TARGETINSTALLPATH=
13 14 HEADERSINSTALLPATH=
14 15 BSP=mbed
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16 17
17 18 all:bin
18 19 @echo Code compiled
19 20
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERS +=
6 6 APPSOURCES += main.c
7 7 OBJECTFILES = $(APPSOURCES:.c=.o)
8 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
8 ARCH = lpc17XX-arm-noabi-gcc
9 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 10 TARGET=lpc1768_uart
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE) $(LIBUC_INC_DIR_UCSTRINGS)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS) $(LIBUC_LIBS_UCSTRINGS)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD) $(LIBUC_INC_DIR_UCSTRINGS_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS_CMD) $(LIBUC_LIBS_UCSTRINGS)
12 13 TARGETINSTALLPATH=
13 14 HEADERSINSTALLPATH=
14 15 BSP=mbed
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16 17
17 18 all:bin
18 19 @echo Code compiled
19 20
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERS +=
6 6 APPSOURCES += main.c
7 7 OBJECTFILES = $(APPSOURCES:.c=.o)
8 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
8 ARCH = lpc17XX-arm-noabi-gcc
9 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 10 TARGET=lpc1768_uart
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE) $(LIBUC_INC_DIR_UCSTRINGS)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS) $(LIBUC_LIBS_UCSTRINGS)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD) $(LIBUC_INC_DIR_UCSTRINGS_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS_CMD) $(LIBUC_LIBS_UCSTRINGS)
12 13 TARGETINSTALLPATH=
13 14 HEADERSINSTALLPATH=
14 15 BSP=LandTiger
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16 17
17 18 all:bin
18 19 @echo Code compiled
19 20
1 NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/CORE
6 6 HEADERS += core.h
7 7 LIBSOURCES += core.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libcore
11 12 LIBUC_INCLUDES=
12 13 LIBUC_LIBRARIES=
13 14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/CORE
14 15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/CORE
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/IIC
6 6 HEADERS += iic.h
7 7 LIBSOURCES += iic.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libiic
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE_CMD)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/IIC
14 15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/IIC
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/STRINGS
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_UCSTRINGS)
6 6 HEADERS += libucstrings.h
7 7 LIBSOURCES += libucstrings.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libucstrings
11 12 LIBUC_INCLUDES=
12 13 LIBUC_LIBRARIES=
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/STRINGS
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/STRINGS
14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR_UCSTRINGS)
15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR_UCSTRINGS)
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,12 +1,12
1 1 TEMPLATE = lib
2 2 ARCH = lpc17XX-arm-noabi-gcc
3 3 TARGET = libucstrings
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR)/STRINGS
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/STRINGS
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR_UCSTRINGS)
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_UCSTRINGS)
6 6
7 7 LIBS +=
8 8
9 9 SOURCES += libucstrings.c
10 10
11 11
12 12 HEADERS += libucstrings.h
@@ -1,19 +1,20
1 1
2 2 PROJECTDIR = `pwd`
3 3 LIBUC = /opt/libuc2
4 4
5 5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/UART
6 6 HEADERS += uart.h
7 7 LIBSOURCES += uart.c
8 8 OBJECTFILES = $(LIBSOURCES:.c=.o)
9 ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
9 ARCH = lpc17XX-arm-noabi-gcc
10 ARCHFOLDER = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc
10 11 TARGET=libuart
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE_CMD)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/UART
14 15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/UART
15 16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17 18
18 19 all:lib
19 20 @echo Code compiled
@@ -1,163 +1,177
1 1 #/*------------------------------------------------------------------------------
2 2 #-- This file is a part of the libuc, microcontroler library
3 3 #-- Copyright (C) 2011, Alexis Jeandet
4 4 #--
5 5 #-- This program is free software; you can redistribute it and/or modify
6 6 #-- it under the terms of the GNU General Public License as published by
7 7 #-- the Free Software Foundation; either version 3 of the License, or
8 8 #-- (at your option) any later version.
9 9 #--
10 10 #-- This program is distributed in the hope that it will be useful,
11 11 #-- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 #-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 #-- GNU General Public License for more details.
14 14 #--
15 15 #-- You should have received a copy of the GNU General Public License
16 16 #-- along with this program; if not, write to the Free Software
17 17 #-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 #-------------------------------------------------------------------------------
19 19 #-- Author : Alexis Jeandet
20 20 #-- Mail : alexis.jeandet@gmail.com
21 21 #-------------------------------------------------------------------------------*/
22 22
23 23 #---------------------------------------------------------------------------------
24 24 # GCC EXECUTABLES
25 25 #---------------------------------------------------------------------------------
26 26 LIBUC_PREFIX = arm-none-eabi-
27 27 LIBUC_CC = $(LIBUC_PREFIX)gcc
28 28 LIBUC_CXX = $(LIBUC_PREFIX)g++
29 29 LIBUC_AR = $(LIBUC_PREFIX)ar
30 30 LIBUC_AS = $(LIBUC_PREFIX)as
31 31 LIBUC_LD = $(LIBUC_PREFIX)ld
32 32 LIBUC_SIZE = $(LIBUC_PREFIX)size
33 33 LIBUC_STRIP = $(LIBUC_PREFIX)strip -s
34 34 LIBUC_READELF = $(LIBUC_PREFIX)readelf
35 35 LIBUC_OBJCOPY=$(LIBUC_PREFIX)objcopy
36 36 LIBUC_OBJDUMP=$(LIBUC_PREFIX)objdump
37 37
38 38
39 39
40 40 #---------------------------------------------------------------------------------
41 41 # GCC FLAGS
42 42 #---------------------------------------------------------------------------------
43 43 LIBUC_FMCU = -mcpu=cortex-m3
44 44 LIBUC_CFLAGS = $(LIBUC_FMCU)
45 45 LIBUC_CFLAGS = --std=gnu99 -fgnu89-inline -mcpu=cortex-m3 -mthumb
46 46 LIBUC_CFLAGS += -ffunction-sections -fdata-sections
47 47 LIBUC_LDFLAGS = --gc-sections
48 48 LIBUC_ODFLAGS = -x --syms
49 49 LIBUC_CPFLAGS =
50 50 LIBUC_CFLAGS_WARN_ON = -Wall
51 51 LIBUC_CFLAGS_WARN_OFF = -w
52 52 LIBUC_CFLAGS_RELEASE = -O2
53 53 LIBUC_CFLAGS_DEBUG = -g
54 54 LIBUC_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
55 55 LIBUC_CFLAGS_STATIC_LIB = -fPIC
56 56 LIBUC_CFLAGS_SOFT_FPU = -msoft-float
57 57 LIBUC_CFLAGS_HARD_FPU =
58 58
59 59 LIBUC_CXXFLAGS = $(LIBUC_FMCU)
60 60 LIBUC_CXXFLAGS += -g -gdwarf-2
61 61 LIBUC_CXXFLAGS += -Wextra -Wundef -Wcast-align -mthumb -msoft-float
62 62 LIBUC_CXXFLAGS_WARN_ON = -Wall
63 63 LIBUC_CXXFLAGS_WARN_OFF = -w
64 64 LIBUC_CXXFLAGS_RELEASE = -O2
65 65 LIBUC_CXXFLAGS_DEBUG = -g
66 66 LIBUC_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
67 67 LIBUC_CXXFLAGS_STATIC_LIB = -fPIC
68 68 LIBUC_CXXFLAGS_SOFT_FPU = -msoft-float
69 69 LIBUC_CXXFLAGS_HARD_FPU =
70 70
71 71 LIBUC_LIBS =
72 72 LIBUC_LIBS_CORE = -static -lcore
73 73 LIBUC_LIBS_UCSTRINGS = -static -lucstrings
74 74 LIBUC_LIBS_UART = -static -luart
75 75 LIBUC_LIBS_SPI = -static -lspi
76 76 LIBUC_LIBS_IIC = -static -liic
77 77 LIBUC_LIBS_ADC = -static -ladc
78 78
79 79 LIBUC_LIBS_DIR = $(LIBUC)/lib/bin/lpc17XX
80 LIBUC_LIBS_DIR_CORE = -L $(LIBUC_LIBS_DIR)/CORE
81 LIBUC_LIBS_DIR_UCSTRINGS = -L $(LIBUC_LIBS_DIR)/STRINGS
82 LIBUC_LIBS_DIR_UART = -L $(LIBUC_LIBS_DIR)/UART
83 LIBUC_LIBS_DIR_SPI = -L $(LIBUC_LIBS_DIR)/SPI
84 LIBUC_LIBS_DIR_IIC = -L $(LIBUC_LIBS_DIR)/IIC
85 LIBUC_LIBS_DIR_ADC = -L $(LIBUC_LIBS_DIR)/ADC
80 LIBUC_LIBS_DIR_CORE = $(LIBUC_LIBS_DIR)/CORE
81 LIBUC_LIBS_DIR_UCSTRINGS = $(LIBUC_LIBS_DIR)/STRINGS/$(ARCH)
82 LIBUC_LIBS_DIR_UART = $(LIBUC_LIBS_DIR)/UART
83 LIBUC_LIBS_DIR_SPI = $(LIBUC_LIBS_DIR)/SPI
84 LIBUC_LIBS_DIR_IIC = $(LIBUC_LIBS_DIR)/IIC
85 LIBUC_LIBS_DIR_ADC = $(LIBUC_LIBS_DIR)/ADC
86
87 LIBUC_LIBS_DIR_CORE_CMD = -L $(LIBUC_LIBS_DIR_CORE)
88 LIBUC_LIBS_DIR_UCSTRINGS_CMD = -L $(LIBUC_LIBS_DIR_UCSTRINGS)
89 LIBUC_LIBS_DIR_UART_CMD = -L $(LIBUC_LIBS_DIR_UART)
90 LIBUC_LIBS_DIR_SPI_CMD = -L $(LIBUC_LIBS_DIR_SPI)
91 LIBUC_LIBS_DIR_IIC_CMD = -L $(LIBUC_LIBS_DIR_IIC)
92 LIBUC_LIBS_DIR_ADC_CMD = -L $(LIBUC_LIBS_DIR_ADC)
86 93
87 94 LIBUC_INC_DIR = $(LIBUC)/lib/includes/lpc17XX
88 LIBUC_INC_DIR_CORE = -I $(LIBUC_INC_DIR)/CORE
89 LIBUC_INC_DIR_UCSTRINGS = -I $(LIBUC_INC_DIR)/STRINGS
90 LIBUC_INC_DIR_UART = -I $(LIBUC_INC_DIR)/UART
91 LIBUC_INC_DIR_SPI = -I $(LIBUC_INC_DIR)/SPI
92 LIBUC_INC_DIR_IIC = -I $(LIBUC_INC_DIR)/IIC
93 LIBUC_INC_DIR_ADC = -I $(LIBUC_INC_DIR)/ADC
95 LIBUC_INC_DIR_CORE = $(LIBUC_INC_DIR)/CORE
96 LIBUC_INC_DIR_UCSTRINGS = $(LIBUC_INC_DIR)/STRINGS/$(ARCH)
97 LIBUC_INC_DIR_UART = $(LIBUC_INC_DIR)/UART
98 LIBUC_INC_DIR_SPI = $(LIBUC_INC_DIR)/SPI
99 LIBUC_INC_DIR_IIC = $(LIBUC_INC_DIR)/IIC
100 LIBUC_INC_DIR_ADC = $(LIBUC_INC_DIR)/ADC
101
102 LIBUC_INC_DIR_CORE_CMD = -I $(LIBUC_INC_DIR_CORE)
103 LIBUC_INC_DIR_UCSTRINGS_CMD = -I $(LIBUC_INC_DIR_UCSTRINGS)
104 LIBUC_INC_DIR_UART_CMD = -I $(LIBUC_INC_DIR_UART)
105 LIBUC_INC_DIR_SPI_CMD = -I $(LIBUC_INC_DIR_SPI)
106 LIBUC_INC_DIR_IIC_CMD = -I $(LIBUC_INC_DIR_IIC)
107 LIBUC_INC_DIR_ADC_CMD = -I $(LIBUC_INC_DIR_ADC)
94 108
95 109
96 110 #---------------------------------------------------------------------------------
97 111 # BOARD SUPORT PACKAGES
98 112 #---------------------------------------------------------------------------------
99 113 LIBUC_BSP_DIR=$(LIBUC)/bsp
100 114 LIBUC_BSP_BIN_DIR= $(LIBUC_BSP_DIR)/bin
101 115 LIBUC_BSP_INC_DIR= $(LIBUC_BSP_DIR)/includes
102 116 LIBUC_BSP = -L $(LIBUC_BSP_BIN_DIR)/$(BSP) -static -lbsp
103 117 LIBUC_BSP_INC = -I $(LIBUC_BSP_INC_DIR)/$(BSP)
104 118 #---------------------------------------------------------------------------------
105 119 # DEVICE SPECIAL FILES
106 120 #---------------------------------------------------------------------------------
107 LINKER_SCRIPT = $(ARCH)/LPC17xx.ld
108 APPSOURCES += $(ARCH)/startup_LPC17xx.c $(ARCH)/core_cm3.c $(ARCH)/system_LPC17xx.c
109 LPC17XX_INCDIR=$(ARCH)
121 LINKER_SCRIPT = $(ARCHFOLDER)/LPC17xx.ld
122 APPSOURCES += $(ARCHFOLDER)/startup_LPC17xx.c $(ARCHFOLDER)/core_cm3.c $(ARCHFOLDER)/system_LPC17xx.c
123 LPC17XX_INCDIR=$(ARCHFOLDER)
110 124
111 125
112 126 all:
113 127 @echo "lpc17XX-arm-noabi-gcc rules"
114 128
115 129
116 130 bin: $(TARGET).bin $(TARGET).hex
117 131 @echo "compile bin"
118 132
119 133
120 134
121 135 lib: $(TARGET).a
122 136 @echo "compile lib"
123 137
124 138 %.a: $(OBJECTFILES)
125 139 mkdir -p $(TARGETINSTALLPATH)
126 140 mkdir -p $(HEADERSINSTALLPATH)
127 141 $(LIBUC_AR) rcs $(TARGETINSTALLPATH)/$@ $(OBJECTFILES)
128 142 cp -f $(HEADERS) $(HEADERSINSTALLPATH)/
129 143
130 144
131 145 %.o: %.c
132 146 $(LIBUC_CC) -O3 -I $(LPC17XX_INCDIR) $(LIBUC_INCLUDES) $(LIBUC_BSP_INC) -MM $< -MF $*.d -MP
133 147 $(LIBUC_CC) -O3 -I $(LPC17XX_INCDIR) $(LIBUC_INCLUDES) $(LIBUC_BSP_INC) -c $(LIBUC_CFLAGS) $< -o $@
134 148
135 149
136 150 %.elf: $(LINKER_SCRIPT) $(OBJECTFILES)
137 151 $(LIBUC_LD) -Map $(@:.elf=.map) $(LIBUC_LDFLAGS) -T $^ -o $@ $(LIBUC_BSP) $(LIBUC_LIBRARIES)
138 152 $(LIBUC_OBJDUMP) $(LIBUC_ODFLAGS) $@ > $(@:.elf=.dump)
139 153 $(LIBUC_SIZE) $@
140 154
141 155 %.bin: %.elf
142 156 $(LIBUC_OBJCOPY) $(LIBUC_CPFLAGS) -O binary $< $*.bin
143 157
144 158
145 159 %.hex: %.elf
146 160 $(LIBUC_OBJCOPY) $(LIBUC_CPFLAGS) -O ihex $< $*.hex
147 161
148 162
149 163 clean:
150 164 rm -f *.o *.d *.bin *.hex *.dump *.map *.a
151 165
152 166 distclean:
153 167 rm -f $(TARGETINSTALLPATH)/*.bin
154 168 rm -f $(TARGETINSTALLPATH)/*.a
155 169
156 170
157 171
158 172
159 173
160 174
161 175
162 176
163 177
1 NO CONTENT: file was removed, binary diff hidden
General Comments 0
You need to be logged in to leave comments. Login now