summaryrefslogtreecommitdiffstats
path: root/tools/buildzip.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildzip.pl')
-rwxr-xr-xtools/buildzip.pl29
1 files changed, 21 insertions, 8 deletions
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index a75f424f97..bdad0fc7e2 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -14,6 +14,10 @@ if($ARGV[0] eq "-v") {
shift @ARGV;
}
+my $target = $ARGV[0];
+my $cppdef = $target;
+
+my $exe = $ARGV[1];
sub filesize {
my ($filename)=@_;
@@ -95,13 +99,26 @@ sub buildzip {
closedir DIR;
my $maxfont;
- open(HEADER, "<$ROOT/firmware/export/font.h");
- while(<HEADER>) {
- if(/^\#define MAX_FONT_SIZE[ \t]*(\d+)/) {
+
+ open(SIZE, ">ziptemp");
+ print SIZE <<STOP
+\#include "font.h"
+Font Size We Want: MAX_FONT_SIZE
+STOP
+;
+ close(SIZE);
+ my $c="cat ziptemp | gcc $cppdef -I. -I../firmware/export -E -P -";
+ # print STDERR "C: $c\n";
+ open(GETSIZE, "$c|");
+
+ while(<GETSIZE>) {
+ if($_ =~ /^Font Size We Want: (\d*)/) {
$maxfont = $1;
+ last;
}
}
- close(HEADER);
+ close(GETSIZE);
+ unlink("ziptemp");
die "no decent max font size" if ($maxfont < 2000);
for(@fonts) {
@@ -182,10 +199,6 @@ sub runone {
($type eq "player")?0:1);
};
-my $target = $ARGV[0];
-
-my $exe = $ARGV[1];
-
if(!$exe) {
# not specified, guess!
if($target =~ /(recorder|ondio)/i) {