|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> Warp wrote:
> > The problem is that you didn't know that you can actually implement what
> > Andrew wanted with just a couple of simple and straightforward lines with
> > a makefile
> Of course I knew that. Don't be insulting.
You said, and I quote:
"I don't remember. Do you have to actually list the programs in the makefile
that you want to compile? Is a makefile that compiles 50 programs
necessarily larger than one that compiles 5?"
That tells me that you didn't know about the implicit rules in gnu make
that allow avoiding having to call gcc explicitly (hence saving a significant
amount of writing), or you didn't know about gnu make's support for
wildcards. Probably both.
> > I think it's you who didn't understand. What exactly is this 'make'
> > abuse you are talking about?
> If you've never seen abuse of makefiles, then power to you. I think anyone
> who has worked on an ugly system knows what I'm talking about. Otherwise, go
> look up the "buildroot" system for compiling kernels. I mean, hell,
> buildroot was so makefile-abusive that people capable of working on the
> linux kernel said "screw this, let's throw it away and start over."
So some people have abused make to do something it's not designed to do?
Is that supposed to somehow be a negative point about make, or something?
I already forgot the whole point of this "abuse" thing or why you even
brought it up.
> >> The problem is not that you have to tell the compiler what to
> >> compile. The problem is you have to (in C) compile much more than your own
> >> source code in order to compile your program.
> >
> > You have odd problems. I haven't encountered such a problem as far as
> > I remember.
> Well, good for you. The fact that you've not encountered that problem
> doesn't mean that the problem isn't real.
But it could perfectly well mean that it's not as common as you make it
sound (which, honestly, wouldn't actually surprise me).
Some people write bad code. In some such cases other people need to
decipher that bad code. It probably sucks. However, this problem is not
exclusively limited to C and its variants. (And from what I read at
the daily wtf, higher level languages seem to be much more prominently
represented than lower-level languages like C. Not that this means that
in an absolute scale the problems are not more common in C. However,
it does tell that such problems are also quite common even in higher-level
languages. They are in no way safe from idiotic programmers.)
> > If I install a new library from a OpenSuse repository, I still don't have
> > to care where it's installing it. In fact, I don't even *know* where it's
> > installing them, and I don't need to. They will still work.
> Here you're arguing that someone else has already solved the problem for you.
Yeah, isn't it great? The C/C++ library system isn't so bad as you make
it sound, after all. It works like a charm for me.
> > Can this scheme sometimes cause *more* problems than when dealing with
> > C# on Windows using Microsoft's IDE? Probably. It hasn't bothered me too
> > much so far, though.
> Great. Install compilers for three different versions of Linux for three
> different architectures on the same machine. Make sure that you can use all
> three different versions of boost you need on each of those three compilers.
> Let me know how simple your makefiles are.
> (And you're giving *me* shit about not knowing how makefiles work? Really??)
You are still making all this to be some kind of issue about makefiles.
I don't really understand why.
Perhaps next you'll complain how your car broke and it will cost you an
arm and a leg to repair it, and this, too, has something to do with why
makefiles suck.
> >> You don't understand the word "sources" in that sentence? Reading
> >> comprehension, dear.
> >
> > I don't think I have the sources eg. for libc.so installed in this
> > system, hence I don't have to tell the compiler where they might be.
> Um, yes, you do. You have the sources for some of the openssl libraries
> installed, don't you?
Openssl libraries? I have no idea. Why should I even care?
> > I don't get your point.
> Yes you do.
No, I don't. You are writing about library sources now, and I have no
idea what you are talking about.
> >> The fact that you can automate (in some cases) the copying of dependencies
> >> from one place to another does not mean you're not copying dependencies from
> >> one place to another.
> >
> > And I asked why should I care if it happens automatically behind the
> > scenes.
> And I answered this repeatedly, and you picked nits instead about whether
> invoking the C preprocessor is invoking the compiler or not.
Your "answer" seems to be to endlessly repeat the duplication argument.
You are not telling me why I should care if the dependencies are duplicated,
if the duplication happens automatically.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |