summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config/Config.lb11
-rw-r--r--util/newconfig/config.g10
2 files changed, 7 insertions, 14 deletions
diff --git a/src/config/Config.lb b/src/config/Config.lb
index 43d6ecdeb0..a9de434071 100644
--- a/src/config/Config.lb
+++ b/src/config/Config.lb
@@ -179,21 +179,16 @@ makerule build_opt_tbl
action "$(HOSTCC) $(HOSTCFLAGS) $(CPUFLAGS) $< -o $@"
end
-makerule option_table.c
+makerule option_table.h option_table.c
depends "build_opt_tbl $(MAINBOARD)/cmos.layout"
- action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h"
-end
-
-makerule option_table.h
- depends "build_opt_tbl $(MAINBOARD)/cmos.layout"
- action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h"
+ action "./build_opt_tbl -b --config $(MAINBOARD)/cmos.layout --header option_table.h --option option_table.c"
end
if HAVE_OPTION_TABLE
object ./option_table.o
end
-makerule clean
+makerule clean
action "rm -f coreboot.* *~"
action "rm -f coreboot"
action "rm -f ldscript.ld"
diff --git a/util/newconfig/config.g b/util/newconfig/config.g
index 26cee432dc..93e36bbde2 100644
--- a/util/newconfig/config.g
+++ b/util/newconfig/config.g
@@ -1607,6 +1607,7 @@ parser Config:
token PATH: r'[-a-zA-Z0-9_.][-a-zA-Z0-9/_.]+[-a-zA-Z0-9_.]+'
# Dir's on the other hand are abitrary
# this may all be stupid.
+ token RULE: r'[-a-zA-Z0-9_$()./]+[-a-zA-Z0-9_ $()./]+[-a-zA-Z0-9_$()./]+'
token DIRPATH: r'[-a-zA-Z0-9_$()./]+'
token ID: r'[a-zA-Z_.]+[a-zA-Z0-9_.]*'
token DELEXPR: r'{([^}]+|\\.)*}'
@@ -1703,13 +1704,10 @@ parser Config:
[ ELSE (stmt<<C and not c>>)* ]
END
- rule depsacts<<ID, C>>:
- ( DEPENDS STR {{ if (C): adddep(ID, STR) }}
- | ACTION STR {{ if (C): addaction(ID, STR) }}
+ rule makerule<<C>>: MAKERULE RULE {{ if (C): addrule(RULE) }}
+ ( DEPENDS STR {{ if (C): adddep(RULE, STR) }}
+ | ACTION STR {{ if (C): addaction(RULE, STR) }}
)*
-
- rule makerule<<C>>: MAKERULE DIRPATH {{ if (C): addrule(DIRPATH) }}
- depsacts<<DIRPATH, C>>
END
rule makedefine<<C>>: