@@ -44,7 +44,7 @@ def generate(self):
44
44
self .resources .c_sources +
45
45
self .resources .cpp_sources ]
46
46
47
- libraries = [splitext (basename (lib ))[ 0 ][ 3 :] for lib
47
+ libraries = [self . prepare_lib (basename (lib )) for lib
48
48
in self .resources .libraries ]
49
49
50
50
ctx = {
@@ -71,6 +71,7 @@ def generate(self):
71
71
'elf2bin_cmd' : "\' " + self .toolchain .elf2bin + "\' " ,
72
72
'link_script_ext' : self .toolchain .LINKER_EXT ,
73
73
'link_script_option' : self .LINK_SCRIPT_OPTION ,
74
+ 'user_library_flag' : self .USER_LIBRARY_FLAG ,
74
75
}
75
76
76
77
for key in ['include_paths' , 'library_paths' , 'linker_script' ,
@@ -109,6 +110,11 @@ class GccArm(Makefile):
109
110
NAME = 'Make-GCC-ARM'
110
111
TOOLCHAIN = "GCC_ARM"
111
112
LINK_SCRIPT_OPTION = "-T"
113
+ USER_LIBRARY_FLAG = "-L"
114
+
115
+ @staticmethod
116
+ def prepare_lib (libname ):
117
+ return "-l:" + libname
112
118
113
119
114
120
class Armc5 (Makefile ):
@@ -118,6 +124,11 @@ class Armc5(Makefile):
118
124
NAME = 'Make-ARMc5'
119
125
TOOLCHAIN = "ARM"
120
126
LINK_SCRIPT_OPTION = "--scatter"
127
+ USER_LIBRARY_FLAG = "--userlibpath "
128
+
129
+ @staticmethod
130
+ def prepare_lib (libname ):
131
+ return libname
121
132
122
133
123
134
class IAR (Makefile ):
@@ -127,3 +138,10 @@ class IAR(Makefile):
127
138
NAME = 'Make-IAR'
128
139
TOOLCHAIN = "IAR"
129
140
LINK_SCRIPT_OPTION = "--config"
141
+ USER_LIBRARY_FLAG = "-L"
142
+
143
+ @staticmethod
144
+ def prepare_lib (libname ):
145
+ if "lib" == libname [:3 ]:
146
+ libname = libname [3 :]
147
+ return "-l" + splitext (libname )[0 ]
0 commit comments