NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: What is BSD make?

Aleksey Cheusov <> writes:

>> make tool isn't for building the whole project, it is development
>> tool first and foremost.
> Yes.

Thus your statement about the need of generation of object directories
in uniform way is irrelevant.

>  >> It is not a problem to run 'make obj' manually every time you
>  >> create new subprojects.
>> It is problem to use it in development, because it is less convenient.
> What exactly is less convenient?

The uniform generation of object directories.

> 'make obj' is not a problem unless
> your projects consists of thousands of directories and your
> development machine is 20 years old i486.
> In all other cases 'make obj' is good enough solution.

Prove it.

I showed before, that this isn't so.

> It's clean, minimalistic and it works perfectly.

It is simply incovenient, if you do work with the source,
not just look at it.

>  >>> You don't understand the problem.
>  >>
>  >> Are you sure?
>> Yes, I'm sure, and I showed it in previous messages and in this one.
> No, you didn't. This "discussion" is completely useless untill you
> show what EXACTLY is your problem with make. Describe _your_ problem
> first.

Your object directory handling is _wrong_, since it doesn't support
applying _different_ object directory selection for different parts
of tree.  For instance, not all my colleagues like using completely
separate object tree, some of them like to have "obj" subdirectories
in those parts of tree, which they don't modify, but they don't create
them in "hot" area.

Because this is more convenient to them.

This is valid object directory usage pattern, but your make files don't
support it, because they make assumption, that object directory scheme
is uniform across the whole big project tree. Thus, your makefiles are
wrong, instead of helping humans to program, they force them into some
irrelevant restrictions.

>  >>  >> 0 dictd_bsd_make>cat dict_common/ 
>  >>  >> LDFLAGS+=       -L../dict_common
>  >>  >> LDADD+=         -ldict_common
>  >>
>  >>> Now do the same, except link it statically.
>  >> dict_common is static librarya, oit contains the code common for
>  >> dict, dictd, dictfmt and dictzip. While libmaa is shared
>  >> library. What's the problem?
>> It doesn't link that way in general case.
> It does.

It doesn't, see above, you didn't even try to reproduce it,
you only said, that you don't see any problem. "Just run <<make obj>>
in the root of the tree first" is not a solution, like any refusal to
face problem doesn't solve it.


Home | Main Index | Thread Index | Old Index