On Sat, 25 Jun 2011, Andrew Deason wrote:

On Sat, 25 Jun 2011 00:57:44 -0400 (EDT)
Benjamin Kaduk <[email protected]> wrote:

I am not particularly inclined to redefine CRULE_{NO,}OPT in
MakefileProto.FBSD.in after including Makefile.common, because if
these variables are changed in Makefile.common in the future, it is
likely that the FreeBSD-specific definition will be missed at that
time.  Instead, I have introduced a new variable, CRULE_TARGET, which
is defined in the individual MakefileProtos, that Makefile.common uses
as the source file for its CC invocation in CRULE_{NO,}OPT.  This
variable can then be tweaked as appropriate for each OS, allowing me
to use the extra features of FreeBSD's make.

Shouldn't libafs makefiles just be converted to use AFS_CCRULE ?

Maybe?  I'm still finding my way around our build system.

Everywhere else in the source tree we just specify source files as
additional arguments, and it hasn't seemed to bad to me.

That is,

foo.o: bar.c
        $(AFS_CCRULE) bar.c

But that involves changing a ton of lines; if you're talking about doing
something in the interim, sure, but afaik going towards AFS_*RULE is
supposed to be the longer term solution.

If that's the way of the future, I don't mind changing a bunch of lines.
I will note, though, that we need to retain (gain?) a way for kernel sources to be compiled with different flags than userland. The case that I tripped over most recently is that the (FBSD) amd64 userland build is compiling with PIC, but when I go to bsd.kmod.mk for libafs, it adds mcmodel=kernel which is incompatible with PIC. (I currently workaround this by emptying XCFLAGS for the libafs build, but would like other options.)

-Ben
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to