NetBSD-Users archive

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

Re: What is BSD make?



> Your object directory handling is _wrong_, since it doesn't support
> applying _different_ object directory selection for different parts
> of tree.
Setting object directory inside projects's Makefile is just wrong way
to do development. This makes Makefiles full of %^&*^%%
OBJDIR should be set outside projects's Makefile, e.g.
in your mk.conf based on PROG or somewhere in Makefile.in
or in user's (developer's) environment.

Anywhere but not in project's Makefile.

Just separate project's "core" from developer's "preferences".

> For instance, not all my colleagues like using completely
Your colleagues are offtopic. Lots of my colleagues use windows and
don't know anything about make at all. So what?

> 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.

0 dictd_bsd_make>export MAKEOBJDIR=/home/cheusov/prjs/dictd_bsd_make/obj       
0 dictd_bsd_make>make                                                     
all ===> libmaa
#   compile  libmaa/1.ln
lint -chapbxzFS       -i /home/cheusov/prjs/dictd_bsd_make/libmaa/1.c
#   compile  libmaa/1.o
cc -O2  -Werror       -c    /home/cheusov/prjs/dictd_bsd_make/libmaa/1.c -o 1.o
objcopy -x 1.o
...
0 dictd_bsd_make>ls -la obj/
...
-rwxr-xr-x  1 cheusov  syntagma  5465 Oct 14 21:36 dict
-rw-r--r--  1 cheusov  syntagma     0 Oct 14 21:36 dict.cat1
-rw-r--r--  1 cheusov  syntagma   637 Oct 14 21:36 dict.o
-rwxr-xr-x  1 cheusov  syntagma  5466 Oct 14 21:36 dictd
-rw-r--r--  1 cheusov  syntagma     0 Oct 14 21:36 dictd.cat1
-rw-r--r--  1 cheusov  syntagma   638 Oct 14 21:36 dictd.o
...
-rw-r--r--  1 cheusov  syntagma  2154 Oct 14 21:36 libmaa.a
lrwxr-xr-x  1 cheusov  syntagma    15 Oct 14 21:36 libmaa.so -> libmaa.so.2.0.3
...
0 dictd_bsd_make>

-- 
Best regards, Aleksey Cheusov.


Home | Main Index | Thread Index | Old Index