summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-04-12 01:28:33 +0000
committerThomas Martitz <kugel@rockbox.org>2009-04-12 01:28:33 +0000
commit7ed1a5f1206142a7087867b549ddf629e89ebe14 (patch)
treebf984267c3ed1ec9823584e2ab92579af30c7b96 /tools
parent725733ca92d6140eb4bbf2455cc4e3f2aabf5da5 (diff)
downloadrockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.tar.gz
rockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.tar.bz2
rockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.zip
Second try for make install for normal builds. Now differentiate better between "PREFIX not set" and "PREFIX not set, but also not needed". Also, recreate the PREFIX when running make reconf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20694 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rwxr-xr-xtools/buildzip.pl11
-rwxr-xr-xtools/configure2
-rw-r--r--tools/root.make32
3 files changed, 30 insertions, 15 deletions
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index 7df6af3a36..ea902ddb9a 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -21,7 +21,7 @@ my $ROOT="..";
my $ziptool="zip -r9";
my $output="rockbox.zip";
my $verbose;
-my $sim;
+my $install=0;
my $exe;
my $target;
my $modelname;
@@ -75,7 +75,7 @@ GetOptions ( 'r|root=s' => \$ROOT,
'o|output=s' => \$output,
'f|fonts=s' => \$incfonts, # 0 - no fonts, 1 - fonts only 2 - fonts and package
'v|verbose' => \$verbose,
- 's|sim' => \$sim,
+ 'install=s' => \$install, # install destination
'rbdir=s' => \$rbdir, # If we want to put in a different directory
);
@@ -438,8 +438,11 @@ sub runone {
print "$ziptool $output $rbdir $target >/dev/null\n";
}
- if($sim) {
- system("cp -r $rbdir simdisk/ >/dev/null");
+ if($install) {
+ if ($install =~ /\/dev\/null/) {
+ die "ERROR: No PREFIX given\n"
+ }
+ system("cp -r $rbdir \"$install\" >/dev/null");
}
else {
system("$ziptool $output $rbdir $target >/dev/null");
diff --git a/tools/configure b/tools/configure
index 44ae3e524f..72d0c79950 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2526,6 +2526,7 @@ sed > Makefile \
-e "s,@LANGS@,${buildlangs},g" \
-e "s,@USE_ELF@,${USE_ELF},g" \
-e "s,@RBDIR@,${rbdir},g" \
+ -e "s,@PREFIX@,$PREFIX,g" \
-e "s,@CMDLINE@,$cmdline,g" \
<<EOF
## Automatically generated. http://www.rockbox.org/
@@ -2572,6 +2573,7 @@ export WINDRES=@WINDRES@
export DLLTOOL=@DLLTOOL@
export DLLWRAP=@DLLWRAP@
export RANLIB=@RANLIB@
+export PREFIX=@PREFIX@
export PROFILE_OPTS=@PROFILE_OPTS@
export SIMVER=@SIMVER@
export SIMDIR=\$(ROOTDIR)/uisimulator/sdl
diff --git a/tools/root.make b/tools/root.make
index 803a5d53b3..00586379c6 100644
--- a/tools/root.make
+++ b/tools/root.make
@@ -22,6 +22,20 @@ TOOLS = $(TOOLSDIR)/rdf2binary $(TOOLSDIR)/convbdf \
$(TOOLSDIR)/codepages $(TOOLSDIR)/scramble $(TOOLSDIR)/bmp2rb \
$(TOOLSDIR)/uclpack $(TOOLSDIR)/mktccboot $(TOOLSDIR)/mkboot
+
+ifeq (,$(PREFIX))
+ifdef SIMVER
+# for sims, set simdisk/ as default
+PREFIX = simdisk
+INSTALL = --install="$(PREFIX)"
+else
+# /dev/null as magic to tell it wasn't set, error out later in buildzip.pl
+INSTALL = --install=/dev/null
+endif
+else
+INSTALL = --install="$(PREFIX)"
+endif
+
RBINFO = $(BUILDDIR)/rockbox-info.txt
# list suffixes to be understood by $*
@@ -254,19 +268,15 @@ voice: voicetools features
endif
-ifdef SIMVER
-
install:
- @echo "Installing your build in your 'simdisk' dir"
+ @echo "Installing your build in your '$(PREFIX)' dir"
$(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \
- $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -m \"$(MODELNAME)\" -i \"$(TARGET_ID)\" -s -r "$(ROOTDIR)" --rbdir="$(RBDIR)" -f 0 $(TARGET) $(BINARY)
+ $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -m "$(MODELNAME)" -i "$(TARGET_ID)" $(INSTALL) -z "zip -r0" -r "$(ROOTDIR)" --rbdir="$(RBDIR)" -f 0 $(TARGET) $(BINARY)
fullinstall:
- @echo "Installing a full setup in your 'simdisk' dir"
+ @echo "Installing a full setup in your '$(PREFIX)' dir"
$(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \
- $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -m \"$(MODELNAME)\" -i \"$(TARGET_ID)\" -s -r "$(ROOTDIR)" --rbdir="$(RBDIR)" -f 2 $(TARGET) $(BINARY)
-
-endif
+ $(TOOLSDIR)/buildzip.pl $(VERBOSEOPT) -m "$(MODELNAME)" -i "$(TARGET_ID)" $(INSTALL) -z "zip -r0" -r "$(ROOTDIR)" --rbdir="$(RBDIR)" -f 2 $(TARGET) $(BINARY)
help:
@echo "A few helpful make targets"
@@ -292,8 +302,8 @@ help:
@echo "tools - builds the tools only"
@echo "voice - creates the voice clips (voice builds only)"
@echo "voicetools - builds the voice tools only"
- @echo "install - installs your build (for simulator builds only, no fonts)"
- @echo "fullinstall - installs your build (for simulator builds only, with fonts)"
+ @echo "install - installs your build (at PREFIX, defaults to simdisk/ for simulators (no fonts))"
+ @echo "fullinstall - installs your build (like install, but with fonts)"
@echo "reconf - rerun configure with the same selection"
### general compile rules:
@@ -320,4 +330,4 @@ Makefile: $(TOOLSDIR)/configure
$(SILENT)echo "*** tools/configure is newer than Makefile. You should run 'make reconf'."
reconf:
- $(SILENT)$(TOOLSDIR)/configure $(CONFIGURE_OPTIONS)
+ $(SILENT$)PREFIX=$(PREFIX) $(TOOLSDIR)/configure $(CONFIGURE_OPTIONS)