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

Reply via email to