Permalink
Browse files

make install output directory can now be set via qmake variable FRONT…

…ENDOUTDIR

It can be set like so:
qmake -set FRONTENDOUTDIR /Desired/Out/Dir
  • Loading branch information...
1 parent bc3b83c commit 069cbe77b5c9e32fe461ba3921d082f13770b7f5 @Benjamin-Dobell committed Dec 7, 2010
Showing with 24 additions and 140 deletions.
  1. +0 −120 Linux/README.save
  2. +24 −20 heimdall-frontend/heimdall-frontend.pro
View
120 Linux/README.save
@@ -1,120 +0,0 @@
-Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
-http://www.glassechidna.com.au/products/heimdall/
-
-DISCLAIMER:
-
- This software attempts to flash your Galaxy S device. The very nature of
- flashing is dangerous. As with all flashing software, Heimdall has the
- potential to damage (brick) your phone if not used carefully. If you're
- concerned, don't use this software. Flashing ROMs onto your phone may also
- void your warranty. I am not responsible for the result of your actions.
-
-
-
-These instructions are for Linux operating systems.
-
-Installing Heimdall from Source:
-
- 1. First make sure you have installed build-tools and pkgconfig.
-
- 2. Open a terminal and navigate to the directory you extracted Heimdall to.
-
- 3. Then enter the following commands to compile and install libusb-1.0:
-
- cd libusb-1.0
- ./configure
- make
- sudo make install
- cd ..
-
- If you have problems please consult http://www.libusb.org/
-
- 4. Enter the following commands to compile and install Heimdall:
-
- cd heimdall
- ./configure
- make
- sudo make install
- cd ..
-
- NOTE: You can use "checkinstall" instead of "make install" in order
- to generate a redistributable package.
-
- 5. If you're not installing from a package then run
- Linux/install-udev-rules.sh to setup user-level permissions for libusb.
-
- 6. Done
-
-
-
-Installing Heimdall Frontend from Source (Optional):
-
- 1. First make sure you have installed Qt 4.6 or above,
- available from http://qt.nokia.com/.
-
- 2. Open a terminal and navigate to the directory you extracted Heimdall to.
-
- 3. Enter the following commands to compile and install Heimdall Frontend:
-
- cd heimdall-frontend
- qmake heimdall-frontend.pro
- make
- sudo make install
-
- NOTE: You can use "checkinstall" instead of "make install" in order to
- cd generate a redistributable package.
-
- 4. Done
-
-
-
-Flashing Firmware with Heimdall Frontend:
-
- 1. Fully charge your device (use the wall charger as it's faster).
-
- 2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
-
- 3. If the ROM is provided as one of more archives (nested or otherwise),
- extract them all to the same location.
-
- NOTE: If you want to use the CSC then extract it last.
-
- 3. Open Heimdall Frontend.
-
- 4. Put your Galaxy S device into download mode.
-
- 5. For each file you wish to flash use "Browse" to select the file.
-
- 6. Press "Start".
-
- 7. Heimdall Frontend will display the progress and inform you when the
- flash is complete.
-
-
-
-Flashing Firmware from Command Line / Terminal:
-
- 1. Fully charge your device (use the wall charger as it's faster).
-
- 2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
-
- 3. If the ROM is provided as one of more archives (nested or otherwise),
- extract them all to the same location.
-
- NOTE: If you want to use the CSC then extract it last.
-
- 4. Open a terminal and navigate to the directory where you extracted the
- ROM files.
-
- 5. Type the following to list all the functionality Heimdall supports:
-
- heimdall help
-
- 8. Use the instructions to manually enter a command with all the files you
- want to flash.
-
- Here is an example that does a full flash and repartition:
-
- heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
-
- 9. Done
View
44 heimdall-frontend/heimdall-frontend.pro
@@ -5,32 +5,36 @@
TEMPLATE = app
TARGET = heimdall-frontend
-macx {
- DESTDIR = ../OSX
-} else win32 { # It's recommended that Windows users compile via VS2010, but just in case...
- DESTDIR = ../Win32
-} else {
- DESTDIR = ../Linux
-}
+OUTPUTDIR = $$[FRONTENDOUTDIR]
macx {
- PROPOSEDINSTALLDIR = /Applications
-} else {
- PROPOSEDINSTALLDIR = /usr/local/bin
-}
-
-message("Install location:" $$PROPOSEDINSTALLDIR)
-DESIREDINSTALLDIR = $$prompt("Press ENTER to use the default location or type an alternative")
+ isEqual(OUTPUTDIR, "") {
+ DESTDIR = /Applications
+ } else {
+ DESTDIR = $$OUTPUTDIR
+ }
-equals(DESIREDINSTALLDIR, "") {
- target.path = $$PROPOSEDINSTALLDIR
} else {
- target.path = $$DESIREDINSTALLDIR
+ win32 { # It's recommended that Windows users compile via VS2010, but just in case...
+ DESTDIR = ../Win32
+
+ !isEqual(OUTPUTDIR, "") {
+ target.path = $$OUTPUTDIR
+ INSTALLS += target
+ }
+ } else {
+ DESTDIR = ../Linux
+
+ isEqual(OUTPUTDIR, "") {
+ target.path = /usr/local/bin
+ } else {
+ target.path = $$OUTPUTDIR
+ }
+
+ INSTALLS += target
+ }
}
-
-INSTALLS += target
-
QT += core gui
CONFIG += release
DEFINES += QT_LARGEFILE_SUPPORT

2 comments on commit 069cbe7

@victornoel

Hi,

"qmake -set" sets a property as a global variable available to ALL of the future call to qmake.

I am not sure this is a good idea since this value is very local to heimdall AND to each install of it.

Can't you use simple qmake variables as the example shown at http://doc.qt.nokia.com/stable/qmake-running.html
qmake "CONFIG+=test" test.pro

for example calling "qmake "INSTALLDIR=/usr/bin" heimdall-frontend.pro" would do the job.

@Benjamin-Dobell

I did realise the current implementation would set a global variable (which is why I preferred the prompt), however I didn't realise there was an alternative. As long as your suggestion works and there is a way to define a default value for INSTALLDIR, so INSTALLDIR doesn't always need to be specified, then I'll change it again..

Thanks

Please sign in to comment.