summaryrefslogtreecommitdiff
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
parent725733ca92d6140eb4bbf2455cc4e3f2aabf5da5 (diff)
downloadrockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.zip
rockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.tar.gz
rockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.tar.bz2
rockbox-7ed1a5f1206142a7087867b549ddf629e89ebe14.tar.xz
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
-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 7df6af3..ea902dd 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 44ae3e5..72d0c79 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 803a5d5..0058637 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)