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