Mark, You make an excellent point and it worked like a charm. Thought that I had tried that, but obviously that was not the case. I made the following changes to usr/src/lib/libpkg/Makefile.com and usr/src/lib/libinstzones/Makefile.com : 52 - MSGSRCS :sh = echo ../common/*.c 53 - MSGFILES = $(MSGSRCS:%.c=%.i) 52 + MSGFILES = $(OBJECTS:%.o=../common/%.i)
Thank you, I appreciated the explanation and the help. --Moriah Mark J. Nelson wrote: > Moriah Waterland wrote: >> Mark J. Nelson wrote: >>> usr/src/cmd/svr4pkg/libinst/Makefile.html: 29: LFLAGS should go away >>> along with the other lex-related lines 66: POST_PROCESS_A shouldn't >>> be part of the AR command line, it should come separately. It's >>> somewhat academic, since the macro is empty, but it should be >>> separate. >> Done. Gave $(POST_PROCESS_A) its own line. >> >>> usr/src/lib/libinstzones/Makefile, usr/src/lib/libpkg/Makefile: >>> You should not need to include usr/src/lib/Makefile.lib in either of >>> these. MACH should come from the environment, and MAKE should expand >>> to include "make -e," and you don't have anything else that's not >>> self contained. >> Done. Removed the includes of Makefile.lib from libpkg/Makefile and >> libinstzones/Makefile >> >> >>> usr/src/lib/libpkg/Makefile.com: >>> 51: doh. >> Fixed. umm, yeah.. changed this to libpkg.po >> >>> 52-53: I might be confused now. But I thought you were using the >>> "echo" command to pick up some header files that could not be derived >>> directly from the object list. Since you're using "*.c" here, why >>> not simply assign MSGFILES= $(OBJS:%.o=%.i)? Same question for >>> libinstzones. >> I didn't make this change because I couldn't get it to work. Also, I >> trolled through the other Makefiles under usr/src/lib and couldn't find >> any good examples of this. The only Makefiles with the assignment that >> you mention above are not within libraries that have arch specific >> directories. Please approve what I currently have or provide me with a >> working recipe. > > From inspection: > > The OBJS macro has a list of files of the form "x.o" > > The MSGSRCS macro has a list of file of the form "../common/x.c" > > The MSGFILES simply translates .c to .i in MSGSRCS. > > You should be able to skip MSGSRCS entirely and assign MSGFILES as > > MSGFILES= $(OBJS:%.o=../common/%.i) > > Sorry I left the pathname out of my previous example. > >> Here is a new webrev with the changes to address your comments included. >> Also, it contains several fixes jbeck requested after reviewing my RTI. >> http://cr.opensolaris.org/~mwaterl/webrev.rtichanges/webrev/ >> >> Please reply with an explicit ok, if you approve. >> >> thanks, >> --Moriah >> >> PS: and if you make me respin again, you may have to spend a couple >> hours removing D*sney Princess stickers from your office door ;) >