[lug] OT: Makefile oddity

D. Stimits stimits at idcomm.com
Fri Apr 19 13:16:55 MDT 2002


One additional note, I have things rearranged to where they almost do
what I want. But I have variables with source files assigned, and
another variable with object files assigned, for example:
SRC_SET = a.cpp b.cpp c.cpp
OBJ_SET = a.o b.o c.o

Then I use them as targets or dependencies. Well, in some cases, if I
"touch a.cpp", it has decided that all a.cpp, b.cpp, and c.cpp are out
of date. Consider the bash script syntax that allows command line
arguments to be considered either as a whole, single, concatenated
string, or under another notation, as individual arguments. I see this
as make forcing "a.cpp b.cpp c.cpp", and even though only a.cpp is out
of date, it is passing the whole string "a.cpp b.cpp c.cpp" as out of
date. Due to the make rules, this is not harmful, it merely cd's to the
directory and tries to make all of them one at a time...resulting in a
string of cd for every single .cpp file, and the message that it is
already up to date. There are hundreds of files though, and I really
don't want to watch hundreds of lines of scroll while it tells me each
individual file is already up to date. There is a clumsiness with all
this, and though this is a lot less of an evil than the current
directory structure and sym link fiasco, it isn't acceptable. I guess
I'm going to have to use fewer Makefiles and subdirectories and just use
one huge Makefile (had I been able to use separate Makefiles, I could
ship each component of the project: a "common" component, a "server"
component, an "editor" component, a "utility" component, so on...with
the proper Makefile for each). Being able to separate things out would
be the first step to making it workable in rpm format (all kinds of
configs, can't do a source rpm without shipping separate source rpm's
for every config), cvs transition, so on.

D. Stimits, stimits at idcomm.com

PS: On netscape, there is a "quote" button next to the send button. Does
anyone know if there is a way to remove it or deactivate it without
modifying the source? There doesn't seem to be any toolbar customizing
for that particular toolbar, other than hiding the whole bar.



More information about the LUG mailing list