##// 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,4 +1,4
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 entering extended mode
2 entering extended mode
3 %&-line parsing enabled.
3 %&-line parsing enabled.
4 **PortingGuide.tex
4 **PortingGuide.tex
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -31,39 +31,90 function Template {
31 }
31 }
32
32
33 function Arch {
33 function Arch {
34 ARCH=`more $1 | grep -i "ARCH " | sed s/ARCH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
34 if [ -z "$2" ] ; then
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 function Target {
41 function Target {
38 TARGET=`more $1 | grep -i "TARGET " | sed s/TARGET// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
42 if [ -z "$2" ] ; then
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 function Libs_Inc {
53 function Libs_Inc {
42 INCLUDEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
54 if [ -z "$2" ] ; then
43 for FILES in $INCLUDEStmp
55 INCLUDEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
44 do
56 for FILES in $INCLUDEStmp
45 INCLUDES+='$('"LIBUC_INC_DIR_$FILES) "
57 do
46 done
58 INCLUDES+='$('"LIBUC_INC_DIR_""$FILES""_CMD) "
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 function Libs_Link {
70 function Libs_Link {
49 LIBRARIEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
71 if [ -z "$2" ] ; then
50 for FILES in $LIBRARIEStmp
72 LIBRARIEStmp=`more $1 | grep -i "LIBS " | sed s/LIBS// |sed s/+//|sed s/=//| sed 's/^[ \t]*//;s/[ \t]*$//'`
51 do
73 for FILES in $LIBRARIEStmp
52 LIBRARIES+='$('"LIBUC_LIBS_DIR_$FILES) "'$('"LIBUC_LIBS_$FILES) "
74 do
53 done
75 LIBRARIES+='$('"LIBUC_LIBS_DIR_""$FILES""_CMD) "'$('"LIBUC_LIBS_$FILES) "
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 function HeadersInstallPath {
87 function HeadersInstallPath {
57 HEADERSINSTALLPATH=`more $1 | grep -i "HEADERSINSTALLPATH" | sed s/HEADERSINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
88 if [ -z "$2" ] ; then
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 function TargetInstallPath {
96 function TargetInstallPath {
61 TARGETINSTALLPATH=`more $1 | grep -i "TARGETINSTALLPATH" | sed s/TARGETINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
97 if [ -z "$2" ] ; then
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 function getBSP {
105 function getBSP {
106 if [ -z "$2" ] ; then
107 if(more $1 | grep -i "BSP ="); then
108 BSP=`more $1 | grep -i "BSP" | sed s/BSP// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
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
65
115
66 if(more $1 | grep -i "BSP ="); then
67 BSP=`more $1 | grep -i "BSP" | sed s/BSP// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'`
68 fi
69 }
116 }
117
118
119
120
@@ -70,3 +70,20 template-run
70
70
71
71
72
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
@@ -22,46 +22,101
22 #-------------------------------------------------------------------------------*/
22 #-------------------------------------------------------------------------------*/
23
23
24 function template-run {
24 function template-run {
25
25 Targets $PROJECTFILE
26 Target $PROJECTFILE
26 if [ -z "$TARGETS" ] ; then
27 Arch $PROJECTFILE
27 echo "Single Target"
28 Libs_Inc $PROJECTFILE
28 Target $PROJECTFILE
29 Libs_Link $PROJECTFILE
29 Arch $PROJECTFILE
30 HeadersInstallPath $PROJECTFILE
30 Libs_Inc $PROJECTFILE
31 TargetInstallPath $PROJECTFILE
31 Libs_Link $PROJECTFILE
32 getBSP $PROJECTFILE
32 HeadersInstallPath $PROJECTFILE
33 echo "Current BSP is $BSP"
33 TargetInstallPath $PROJECTFILE
34 echo $SRCFILES >> Makefile
34 getBSP $PROJECTFILE
35 getFilesList $PROJECTFILE HEADERS >> Makefile
35 echo "Current BSP is $BSP"
36 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/APPSOURCES/' >> Makefile
36 echo $SRCFILES >> Makefile
37 getFilesList $PROJECTFILE HEADERS >> Makefile
38 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/APPSOURCES/' >> Makefile
37
39
38 echo "========================================================================="
40 echo "========================================================================="
39 echo " M A K E F I L E G E N E R A T I O N "
41 echo " M A K E F I L E G E N E R A T I O N "
40 echo "-------------------------------------------------------------------------"
42 echo "-------------------------------------------------------------------------"
41 echo " Template = application "
43 echo " Template = application "
42 echo " Architecture = $ARCH "
44 echo " Architecture = $ARCH "
43 echo " Current Board Support package is $BSP "
45 echo " Current Board Support package is $BSP "
44 echo " Output file = $TARGET "
46 echo " Output file = $TARGET "
45 echo "========================================================================="
47 echo "========================================================================="
46 echo ""
48 echo ""
47 echo " Start Writing Makefile ..."
49 echo " Start Writing Makefile ..."
48 echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> Makefile
50 echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> Makefile
49 echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
51 echo "ARCH = $ARCH" >> Makefile
50 echo "TARGET=$TARGET">> Makefile
52 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
51 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
53 echo "TARGET=$TARGET">> Makefile
52 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
54 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
53 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
55 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
54 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
56 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
55 echo "BSP=$BSP">> Makefile
57 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
56 echo 'include $(ARCH)/rules.mk' >> Makefile
58 echo "BSP=$BSP">> Makefile
57 echo '' >> Makefile
59 echo 'include $(ARCHFOLDER)/rules.mk' >> Makefile
58 echo 'all:bin' >> Makefile
60 echo '' >> Makefile
59 echo " @echo Code compiled" >> Makefile
61 echo 'all:bin' >> Makefile
60 echo '' >> Makefile
62 echo " @echo Code compiled" >> Makefile
61 echo " Makefile writing finished"
63 echo '' >> Makefile
62 echo ""
64 echo " Makefile writing finished"
63 echo "========================================================================="
65 echo ""
64 echo ""
66 echo "========================================================================="
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
@@ -22,42 +22,98
22 #-------------------------------------------------------------------------------*/
22 #-------------------------------------------------------------------------------*/
23
23
24 function template-run {
24 function template-run {
25 Target $PROJECTFILE
25 Targets $PROJECTFILE
26 Arch $PROJECTFILE
26 if [ -z "$TARGETS" ] ; then
27 Libs_Inc $PROJECTFILE
27 echo "Single Target"
28 Libs_Link $PROJECTFILE
28 Target $PROJECTFILE
29 HeadersInstallPath $PROJECTFILE
29 Arch $PROJECTFILE
30 TargetInstallPath $PROJECTFILE
30 Libs_Inc $PROJECTFILE
31 getBSP $PROJECTFILE
31 Libs_Link $PROJECTFILE
32 echo "Current BSP is $BSP"
32 HeadersInstallPath $PROJECTFILE
33 echo $SRCFILES >> Makefile
33 TargetInstallPath $PROJECTFILE
34 getFilesList $PROJECTFILE HEADERS >> Makefile
34 getBSP $PROJECTFILE
35 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/LIBSOURCES/' >> Makefile
35 echo "Current BSP is $BSP"
36 echo $SRCFILES >> Makefile
37 getFilesList $PROJECTFILE HEADERS >> Makefile
38 getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/LIBSOURCES/' >> Makefile
39
40 echo "========================================================================="
41 echo " M A K E F I L E G E N E R A T I O N "
42 echo "-------------------------------------------------------------------------"
43 echo " Template = library "
44 echo " Architecture = $ARCH "
45 echo " Output file = $TARGET "
46 echo "========================================================================="
47 echo ""
48 echo " Start Writing Makefile ..."
49 echo 'OBJECTFILES = $(LIBSOURCES:.c=.o)'>> Makefile
50 echo "ARCH = $ARCH" >> Makefile
51 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
52 echo "TARGET=$TARGET">> Makefile
53 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
54 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
55 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
56 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
57 echo "BSP=$BSP">> Makefile
58 echo 'include $(ARCHFOLDER)/rules.mk' >> Makefile
59 echo '' >> Makefile
60 echo 'all:lib' >> Makefile
61 echo " @echo Code compiled" >> Makefile
62 echo " Makefile writing finished"
63 echo ""
64 echo "========================================================================="
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
36
86
37 echo "========================================================================="
87 echo "========================================================================="
38 echo " M A K E F I L E G E N E R A T I O N "
88 echo " M A K E F I L E G E N E R A T I O N "
39 echo "-------------------------------------------------------------------------"
89 echo "-------------------------------------------------------------------------"
40 echo " Template = library "
90 echo " Template = library "
41 echo " Architecture = $ARCH "
91 echo " Architecture = $ARCH "
42 echo " Output file = $TARGET "
92 echo " Output file = $TARGET "
43 echo "========================================================================="
93 echo "========================================================================="
44 echo ""
94 echo ""
45 echo " Start Writing Makefile ..."
95 echo " Start Writing Makefile ..."
46 echo 'OBJECTFILES = $(LIBSOURCES:.c=.o)'>> Makefile
96 echo 'OBJECTFILES = $(LIBSOURCES:.c=.o)'>> $ITEMS.mk
47 echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
97 echo "ARCH = $ARCH" >> $ITEMS.mk
48 echo "TARGET=$TARGET">> Makefile
98 echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> $ITEMS.mk
49 echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
99 echo "TARGET=$TARGET">> $ITEMS.mk
50 echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
100 echo "LIBUC_INCLUDES=$INCLUDES">> $ITEMS.mk
51 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
101 echo "LIBUC_LIBRARIES=$LIBRARIES">> $ITEMS.mk
52 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
102 echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> $ITEMS.mk
53 echo "BSP=$BSP">> Makefile
103 echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> $ITEMS.mk
54 echo 'include $(ARCH)/rules.mk' >> Makefile
104 echo "BSP=$BSP">> $ITEMS.mk
55 echo '' >> Makefile
105 echo 'include $(ARCHFOLDER)/rules.mk' >> $ITEMS.mk
56 echo 'all:lib' >> Makefile
106 echo '' >> $ITEMS.mk
57 echo " @echo Code compiled" >> Makefile
107 echo 'all:lib' >> $ITEMS.mk
58 echo " Makefile writing finished"
108 echo " @echo Code compiled" >> $ITEMS.mk
59 echo ""
109 echo " Makefile writing finished"
60 echo "========================================================================="
110 echo ""
61 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
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR
6 HEADERS += bsp.h
6 HEADERS += bsp.h
7 LIBSOURCES += bsp.c
7 LIBSOURCES += bsp.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libbsp
11 TARGET=libbsp
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_IIC) $(LIBUC_INC_DIR_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_IIC_CMD) $(LIBUC_INC_DIR_CORE_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_IIC) $(LIBUC_LIBS_IIC) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
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 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/LandTiger
14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/LandTiger
14 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/LandTiger
15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/LandTiger
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR
6 HEADERS += bsp.h
6 HEADERS += bsp.h
7 LIBSOURCES += bsp.c
7 LIBSOURCES += bsp.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libbsp
11 TARGET=libbsp
11 LIBUC_INCLUDES=
12 LIBUC_INCLUDES=
12 LIBUC_LIBRARIES=
13 LIBUC_LIBRARIES=
13 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/generic
14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/generic
14 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/generic
15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/generic
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_BSP_INC_DIR
6 HEADERS += bsp.h
6 HEADERS += bsp.h
7 LIBSOURCES += bsp.c
7 LIBSOURCES += bsp.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libbsp
11 TARGET=libbsp
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/mbed
14 TARGETINSTALLPATH=$(LIBUC_BSP_BIN_DIR)/mbed
14 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/mbed
15 HEADERSINSTALLPATH=$(LIBUC_BSP_INC_DIR)/mbed
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -5,14 +5,15 LIBUC = /opt/libuc2
5 HEADERS +=
5 HEADERS +=
6 APPSOURCES += main.c
6 APPSOURCES += main.c
7 OBJECTFILES = $(APPSOURCES:.c=.o)
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 TARGET=lpc1768_led_blink
10 TARGET=lpc1768_led_blink
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART)
12 TARGETINSTALLPATH=
13 TARGETINSTALLPATH=
13 HEADERSINSTALLPATH=
14 HEADERSINSTALLPATH=
14 BSP=mbed
15 BSP=mbed
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16
17
17 all:bin
18 all:bin
18 @echo Code compiled
19 @echo Code compiled
@@ -5,14 +5,15 LIBUC = /opt/libuc2
5 HEADERS +=
5 HEADERS +=
6 APPSOURCES += main.c
6 APPSOURCES += main.c
7 OBJECTFILES = $(APPSOURCES:.c=.o)
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 TARGET=lpc1768_uart
10 TARGET=lpc1768_uart
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE) $(LIBUC_INC_DIR_UCSTRINGS)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD) $(LIBUC_INC_DIR_UCSTRINGS_CMD)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS) $(LIBUC_LIBS_UCSTRINGS)
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 TARGETINSTALLPATH=
13 TARGETINSTALLPATH=
13 HEADERSINSTALLPATH=
14 HEADERSINSTALLPATH=
14 BSP=mbed
15 BSP=mbed
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16
17
17 all:bin
18 all:bin
18 @echo Code compiled
19 @echo Code compiled
@@ -5,14 +5,15 LIBUC = /opt/libuc2
5 HEADERS +=
5 HEADERS +=
6 APPSOURCES += main.c
6 APPSOURCES += main.c
7 OBJECTFILES = $(APPSOURCES:.c=.o)
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 TARGET=lpc1768_uart
10 TARGET=lpc1768_uart
10 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART) $(LIBUC_INC_DIR_CORE) $(LIBUC_INC_DIR_UCSTRINGS)
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_CORE_CMD) $(LIBUC_INC_DIR_UCSTRINGS_CMD)
11 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_UART) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE) $(LIBUC_LIBS_DIR_UCSTRINGS) $(LIBUC_LIBS_UCSTRINGS)
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 TARGETINSTALLPATH=
13 TARGETINSTALLPATH=
13 HEADERSINSTALLPATH=
14 HEADERSINSTALLPATH=
14 BSP=LandTiger
15 BSP=LandTiger
15 include $(ARCH)/rules.mk
16 include $(ARCHFOLDER)/rules.mk
16
17
17 all:bin
18 all:bin
18 @echo Code compiled
19 @echo Code compiled
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/CO
6 HEADERS += core.h
6 HEADERS += core.h
7 LIBSOURCES += core.c
7 LIBSOURCES += core.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libcore
11 TARGET=libcore
11 LIBUC_INCLUDES=
12 LIBUC_INCLUDES=
12 LIBUC_LIBRARIES=
13 LIBUC_LIBRARIES=
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/CORE
14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/CORE
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/CORE
15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/CORE
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/II
6 HEADERS += iic.h
6 HEADERS += iic.h
7 LIBSOURCES += iic.c
7 LIBSOURCES += iic.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libiic
11 TARGET=libiic
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/IIC
14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/IIC
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/IIC
15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/IIC
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -2,18 +2,19
2 PROJECTDIR = `pwd`
2 PROJECTDIR = `pwd`
3 LIBUC = /opt/libuc2
3 LIBUC = /opt/libuc2
4
4
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/STRINGS
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_UCSTRINGS)
6 HEADERS += libucstrings.h
6 HEADERS += libucstrings.h
7 LIBSOURCES += libucstrings.c
7 LIBSOURCES += libucstrings.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libucstrings
11 TARGET=libucstrings
11 LIBUC_INCLUDES=
12 LIBUC_INCLUDES=
12 LIBUC_LIBRARIES=
13 LIBUC_LIBRARIES=
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/STRINGS
14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR_UCSTRINGS)
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/STRINGS
15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR_UCSTRINGS)
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -1,8 +1,8
1 TEMPLATE = lib
1 TEMPLATE = lib
2 ARCH = lpc17XX-arm-noabi-gcc
2 ARCH = lpc17XX-arm-noabi-gcc
3 TARGET = libucstrings
3 TARGET = libucstrings
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR)/STRINGS
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR_UCSTRINGS)
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/STRINGS
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_UCSTRINGS)
6
6
7 LIBS +=
7 LIBS +=
8
8
@@ -6,14 +6,15 HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/UA
6 HEADERS += uart.h
6 HEADERS += uart.h
7 LIBSOURCES += uart.c
7 LIBSOURCES += uart.c
8 OBJECTFILES = $(LIBSOURCES:.c=.o)
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 TARGET=libuart
11 TARGET=libuart
11 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE)
12 LIBUC_INCLUDES=$(LIBUC_INC_DIR_CORE_CMD)
12 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE) $(LIBUC_LIBS_CORE)
13 LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_CORE_CMD) $(LIBUC_LIBS_CORE)
13 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/UART
14 TARGETINSTALLPATH=$(LIBUC_LIBS_DIR)/UART
14 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/UART
15 HEADERSINSTALLPATH=$(LIBUC_INC_DIR)/UART
15 BSP=generic
16 BSP=generic
16 include $(ARCH)/rules.mk
17 include $(ARCHFOLDER)/rules.mk
17
18
18 all:lib
19 all:lib
19 @echo Code compiled
20 @echo Code compiled
@@ -77,20 +77,34 LIBUC_LIBS_IIC = -static -liic
77 LIBUC_LIBS_ADC = -static -ladc
77 LIBUC_LIBS_ADC = -static -ladc
78
78
79 LIBUC_LIBS_DIR = $(LIBUC)/lib/bin/lpc17XX
79 LIBUC_LIBS_DIR = $(LIBUC)/lib/bin/lpc17XX
80 LIBUC_LIBS_DIR_CORE = -L $(LIBUC_LIBS_DIR)/CORE
80 LIBUC_LIBS_DIR_CORE = $(LIBUC_LIBS_DIR)/CORE
81 LIBUC_LIBS_DIR_UCSTRINGS = -L $(LIBUC_LIBS_DIR)/STRINGS
81 LIBUC_LIBS_DIR_UCSTRINGS = $(LIBUC_LIBS_DIR)/STRINGS/$(ARCH)
82 LIBUC_LIBS_DIR_UART = -L $(LIBUC_LIBS_DIR)/UART
82 LIBUC_LIBS_DIR_UART = $(LIBUC_LIBS_DIR)/UART
83 LIBUC_LIBS_DIR_SPI = -L $(LIBUC_LIBS_DIR)/SPI
83 LIBUC_LIBS_DIR_SPI = $(LIBUC_LIBS_DIR)/SPI
84 LIBUC_LIBS_DIR_IIC = -L $(LIBUC_LIBS_DIR)/IIC
84 LIBUC_LIBS_DIR_IIC = $(LIBUC_LIBS_DIR)/IIC
85 LIBUC_LIBS_DIR_ADC = -L $(LIBUC_LIBS_DIR)/ADC
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 LIBUC_INC_DIR = $(LIBUC)/lib/includes/lpc17XX
94 LIBUC_INC_DIR = $(LIBUC)/lib/includes/lpc17XX
88 LIBUC_INC_DIR_CORE = -I $(LIBUC_INC_DIR)/CORE
95 LIBUC_INC_DIR_CORE = $(LIBUC_INC_DIR)/CORE
89 LIBUC_INC_DIR_UCSTRINGS = -I $(LIBUC_INC_DIR)/STRINGS
96 LIBUC_INC_DIR_UCSTRINGS = $(LIBUC_INC_DIR)/STRINGS/$(ARCH)
90 LIBUC_INC_DIR_UART = -I $(LIBUC_INC_DIR)/UART
97 LIBUC_INC_DIR_UART = $(LIBUC_INC_DIR)/UART
91 LIBUC_INC_DIR_SPI = -I $(LIBUC_INC_DIR)/SPI
98 LIBUC_INC_DIR_SPI = $(LIBUC_INC_DIR)/SPI
92 LIBUC_INC_DIR_IIC = -I $(LIBUC_INC_DIR)/IIC
99 LIBUC_INC_DIR_IIC = $(LIBUC_INC_DIR)/IIC
93 LIBUC_INC_DIR_ADC = -I $(LIBUC_INC_DIR)/ADC
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 #---------------------------------------------------------------------------------
@@ -104,9 +118,9 LIBUC_BSP_INC = -I $(LIBUC_BSP_INC_DIR)/
104 #---------------------------------------------------------------------------------
118 #---------------------------------------------------------------------------------
105 # DEVICE SPECIAL FILES
119 # DEVICE SPECIAL FILES
106 #---------------------------------------------------------------------------------
120 #---------------------------------------------------------------------------------
107 LINKER_SCRIPT = $(ARCH)/LPC17xx.ld
121 LINKER_SCRIPT = $(ARCHFOLDER)/LPC17xx.ld
108 APPSOURCES += $(ARCH)/startup_LPC17xx.c $(ARCH)/core_cm3.c $(ARCH)/system_LPC17xx.c
122 APPSOURCES += $(ARCHFOLDER)/startup_LPC17xx.c $(ARCHFOLDER)/core_cm3.c $(ARCHFOLDER)/system_LPC17xx.c
109 LPC17XX_INCDIR=$(ARCH)
123 LPC17XX_INCDIR=$(ARCHFOLDER)
110
124
111
125
112 all:
126 all:
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
General Comments 0
You need to be logged in to leave comments. Login now