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