A Suggestion For A Simple Package Manager

Chris Staub chris at beaker67.com
Wed Mar 18 16:28:22 PDT 2009


Mike McCarty wrote:
> Frank Peters wrote:
>> On Wed, 18 Mar 2009 14:46:08 -0500
>> Tushar Teredesai <tushar at linuxfromscratch.org> wrote:
>>
>>> Because that goes against the Unix developer mentality. Providing an
>>> "checkinstall" style functionality is not the purpose of make.
>>> According to the man page: "The purpose of the make utility is to
>>> determine automatically which pieces of a large program need to be
>>> recompiled, and issue the commands to recompile them."
>>>
>> Well, the make program *does* indicate where each file has been
>> installed.  If you examine the console output of make, all

I believe make only outputs what the Makefile says to output. True, most 
packages do just echo the commands, and files copied, to the screen, but 
they don't have to.
> 
> Often Makefiles don't do the install themselves, but
> rather either us "cp" or "install" to put things where
> they go, when one uses "make install". I don't like
> the idea of making "make" have purposeful output to track
> versions and installs. ISTM that one should use a special
> tool, like "install" for that. "make" is supposed to be
> a tool which other tools can use, not a Swiss Army Knife.
> 

I thought Makefiles by themselves never installed anything, ever. All 
make *ever* does is look at the "targets" specified in the Makefile, see 
if they exist, then if needed run the command(s) given for the target in 
the Makefile...at least, if my understanding of it is correct...

 From the GNU make manual - 
http://www.gnu.org/software/make/manual/make.html -

"(Bear in mind that make does not know anything about how the commands 
work. It is up to you to supply commands that will update the target 
file properly. All make does is execute the commands in the rule you 
have specified when the target file needs to be updated.)"

Aside from a few implicit rules mentioned in the manual (mostly having 
to do with automatically creating an object file from source code files 
with certain extensions), make doesn't really do anything by itself 
other than running whatever commands are given in the Makefile.

Also, as far as I know, there's really nothing special about 
"install"...it's just another Makefile target, though obviously one of 
the commonly-used ones.



More information about the lfs-support mailing list