Getting a list of file install locations with make install?
I have a bit of a problem and the only solution I can think of at the moment is a very tedious one, so I was hoping there would be a better way. What I am trying to do is cross compile the PPPD program so that I can install it on an embedded system (this system does not have make/gcc on it). It was easy to cross compile it, but I can not run "make install" since I'm compiling on a secondary machine. I don't want to install PPPD on this secondary machine (I couldn't anyway, because it was compiled for a different architecture) and I can't run make install on the target machine because there is no make/build system for it.
So it seems like what I would have to do is to manually copy over each compiled file from the build machine to the appropriate location of the target machine. And the only way (that I know of) to figure out how to do this is to manually examine the Makefiles (yes, there are several for PPPD) and figure out which file should go where on the target system. This isn't trivial because it uses a hierarchy of makefiles and the probability of human error for this method is high. Is it possible that I could run another command that would give me a list of all the commands that make install would perform? Or a list of all files and their target location for "make install"? Or possibly some other solution that I am completely unaware of that would make this task not so painful and error prone? |
Quote:
Code:
--prefix=/embedded/system/nfs/mount/point/desired/location |
You could try using something like CheckInstall which creates a package from a "make install".
|
According to the make man page:
Quote:
What I mean is, run make install -n on the development machine to figure out what make install moves where, then reproduce that on the target machine manually or by some script. |
Ack, can't believe I failed to find that in the man page. FML RTFM :) Thanks everyone, all great solutions to my problem. I believe I can take care of this now. :)
|
Quote:
An excerpt of 'make install' screen output for ImageMagick: Code:
libtool: install: (cd /mnt/sdb8/sergei/AFSWD_debug/build/ImageMagick-6.6.4-10; /mnt/sdb8/sergei/AFSWD_debug/20101209/bash-4.1/bin/bash /mnt/sdb8/sergei/AFSWD_debug/build/Imag |
src2pkg might be the solution for you. It configures, compiles and builds packages from many different kinds of sources. It uses a forked version of installwatch(libsentry) to track file creation and modification. libsentry includes a utility which will simply list all files created or modified, if you prefer to handle packaging/copying yourself. It really shines for sources which don't support DESTDIR and handles python, perl, tcl, qmake, imake, jam, scons and lots of other weird config methods:
http://distro.ibiblio.org/pub/linux/...nload/src2pkg/ |
Run
Code:
./configure --prefix=/some/special/directory/that/exists --- rod. |
Quote:
The OP can also export his/her development machine directories through NFS and import them in the embedded system. In such a case he/she has practically unlimited disk space and native compiler (residing in the exported NFS) can be used for everything, though it will be slower. |
All times are GMT -5. The time now is 02:24 AM. |