> > lib/lvm, where all of the libraries sharing a given Makefile "architecture"
 > > would exist below lib/ast (e.g., lib/ast/libast, lib/ast/libpp, ...), and
 > > then the two Makefiles could live under lib/ast/Makefile.ast*.  But I'm
 > > guessing you considered that approach and had an issue with it -- so the
 > > next best thing would be to have those Makefiles live directly in lib.
 > 
 > The issue is that if OpenSolaris develops an add-on library (which AFAIK
 > will happen soon for the "open"/"close"/"poll"/etc. builtins (e.g.
 > compile the code and do a "builtin -f libshell.so poll ; poll --man #
 > :-) ) and "procsh") and contributes this to upstream - will this library
 > live under usr/src/lib/ast/, usr/src/lib/ or elsewhere ? AFAIK this is
 > quickly becoming messy because there are no clear lines if libshell&co.
 > get tightly integrated with some consumers within OS/Net and still
 > sync'ed with upstream and/or other projects...

If it needed to use the Makefile.ast* logic, it would live under lib/ast.
Otherwise, it wouldn't.

 > > I understand your concern, but this one seems pretty safe.  My worry is
 > > that someone will cut-and-paste that ROOTDEMO* stuff into something else
 > > and it will start to spread.  I've seen this happen many times and I'd
 > > like to not repeat that mistake again.
 > 
 > 1. I did a small test... problem is that the logic isn't really that
 > generic.
 > -- snip --
 > $(ROOTDEMODIRS) :=   OWNER =         root
 > $(ROOTDEMODIRS) :=   GROUP =         bin
 > $(ROOTDEMODIRS) :=   DIRMODE =       755
 > 
 > .PARALLEL: $(ROOTDEMOFILES)
 > 
 > install: \
 >      $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES)
 > 
 > $(ROOTDEMODIRS):
 >      $(INS.dir)
 > 
 > $(ROOTDEMODIRBASE)/%: common/%
 >      $(INS.file)
 > -- snip --
 > 
 > From this code only ROOTDEMODIRS is completely generic - the mode
 > settings in the first three lines may be (AFAIK) subject for custom
 > values

Possible, but unlikely.

 > and ROOTDEMODIRBASE depends on the demo source sitting in
 > "common/".

Could it use $(SRCDIR) directly (and then one could conditionally override
$(SRCDIR) for $(ROOTDEMOFILES) if necessary?)

 > 2. Is there any recommendation what I should do when the consumer
 > Makefiles of Makefile.lib do not have any demo files ? If ROOTDEMODIRS,
 > ROOTDEMOFILES, ROOTDEMODIRBASE aren't defined AFAIK  all hell will break
 > loose - which means we need some kind of "dummy" values.

Doesn't seem like $(ROOTDEMOFILES) being empty would be a problem.  For
the other two, the convention is to use __nonexistent_directory__, as
we do with HDRDIR (and others).

--
meem
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to