summaryrefslogtreecommitdiff
path: root/tools/keil.py
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2023-05-25 11:25:42 -0400
committerMan, Jianting (Meco) <[email protected]>2023-05-25 12:16:41 -0400
commit8768d631d01256f738029703b7f5da5050b54c7e (patch)
tree646ae52382eb524983dee92f81b68282f3728e28 /tools/keil.py
parent790b63e9236819cfdc90c0509998ec6bcac95fe9 (diff)
[tools][keil] fix cannot select c99 and gnu choice in Keil-MDK
Diffstat (limited to 'tools/keil.py')
-rw-r--r--tools/keil.py32
1 files changed, 26 insertions, 6 deletions
diff --git a/tools/keil.py b/tools/keil.py
index b2f3047921..8e5fe72ebb 100644
--- a/tools/keil.py
+++ b/tools/keil.py
@@ -219,6 +219,8 @@ def MDK45Project(tree, target, script):
CPPPATH = []
CPPDEFINES = []
LINKFLAGS = ''
+ CXXFLAGS = ''
+ CCFLAGS = ''
CFLAGS = ''
ProjectFiles = []
@@ -251,6 +253,28 @@ def MDK45Project(tree, target, script):
else:
LINKFLAGS += group['LINKFLAGS']
+ # get each group's CXXFLAGS flags
+ if 'CXXFLAGS' in group and group['CXXFLAGS']:
+ if CXXFLAGS:
+ CXXFLAGS += ' ' + group['CXXFLAGS']
+ else:
+ CXXFLAGS += group['CXXFLAGS']
+
+ # get each group's CCFLAGS flags
+ if 'CCFLAGS' in group and group['CCFLAGS']:
+ if CCFLAGS:
+ CCFLAGS += ' ' + group['CCFLAGS']
+ else:
+ CCFLAGS += group['CCFLAGS']
+
+ # get each group's CFLAGS flags
+ if 'CFLAGS' in group and group['CFLAGS']:
+ if CFLAGS:
+ CFLAGS += ' ' + group['CFLAGS']
+ else:
+ CFLAGS += group['CFLAGS']
+
+ # get each group's LIBS flags
if 'LIBS' in group and group['LIBS']:
for item in group['LIBS']:
lib_path = ''
@@ -273,15 +297,11 @@ def MDK45Project(tree, target, script):
Define = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/VariousControls/Define')
Define.text = ', '.join(set(CPPDEFINES))
- if ('CCFLAGS' in group and 'c99' in group['CCFLAGS']) or \
- ('CFLAGS' in group and 'c99' in group['CFLAGS']) or \
- ('CXXFLAGS' in group and 'c99' in group['CXXFLAGS']):
+ if 'c99' in CXXFLAGS or 'c99' in CCFLAGS or 'c99' in CFLAGS:
uC99 = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/uC99')
uC99.text = '1'
- if ('CCFLAGS' in group and '--gnu' in group['CCFLAGS']) or \
- ('CFLAGS' in group and '--gnu' in group['CFLAGS']) or \
- ('CXXFLAGS' in group and '--gnu' in group['CXXFLAGS']):
+ if 'gnu' in CXXFLAGS or 'gnu' in CCFLAGS or 'gnu' in CFLAGS:
uGnu = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/uGnu')
uGnu.text = '1'