[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-hackers
Subject: Re: porting third-party build system to bsd.kmod.mk
From: Warner Losh <imp () bsdimp ! com>
Date: 2011-05-22 22:35:05
Message-ID: 8854CF36-7B6D-4918-ADF8-6A16CCB2F307 () bsdimp ! com
[Download RAW message or body]
The usual reason that vnode_if.h doesn't build for me when I'm doing in-tree hacking \
is because make depend hasn't run to generate it yet. Or more precisely, the arc in \
the dependency graph from osi_crypto.c to vnode_if.h. I didn't see that as part of \
the log, so you might try this first (and make setup dependent on depend somehow, as \
long as it is idempotent.
But many of the things that are being setup with the setup target shouldn't be \
necessary. depend does that based on the setting of SYSDIR. and the @ symlink \
should be enough to make the ufs and other symlinks unnecessary.
Warner
On May 21, 2011, at 12:14 AM, Benjamin Kaduk wrote:
> After getting a few pointers from jhb at BSDCan on what a bsd.kmod.mk-using \
> Makefile should look like, I have been trying my hand at porting the OpenAFS kernel \
> module build system to use it. (The main thing this gets us is not having to \
> manually track version- and architecture-dependent CFLAGS and the like.) However, \
> the path is not exactly smooth.
> A lot of the difficulty is in getting an autogenerated vnode_if.h while using a \
> list of files to include in the module(from the common OpenAFS code) that's given \
> as a list of object files. If there's already a vnode_if.h sitting around, I can \
> just use OBJS and things progress quite nicely; however, if I have to get back to \
> SRCS for the use of sys/conf/kmod.mk's vnode_if.h logic, I get this sort of build \
> failure (full log attached) with the attached Makefile: gcc -I. -I.. -I../nfs [more \
> includes and defines] -I/usr/devel/openafs/git/openafs/include/afs -I@/sys \
> -Imachine -I. -I@ -I@/contrib/altq -finline-limit=8000 --param \
> inline-unit-growth=100 --param large-function-growth=1000 -fno-common \
> -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-mmx \
> -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float \
> -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 \
> -fstack-protector -Wno-redundant-decls -Wsystem-headers -Werror -Wno-pointer-sign \
> -o osi_crypto.o -c /usr/devel/openafs/git/openafs/src/afs/FBSD/osi_crypto.c \
> /usr/devel/openafs/git/openafs/src/libafs/MODLOAD/../../afs/FBSD/osi_crypto.c \
> vnode_if.h
> gcc: cannot specify -o with -c or -S with multiple files
>
> That last bit, "-o osi_crypto.o -c /path/to/osi_crypto.c /path/to/osi_crypto.c \
> vnode_if.h" is quite troublesome. Any thoughts on what is causing those extra \
> files to be listed would be greatly appreciated. (Comments on other issues in the \
> Makefile are welcome, too -- it's still in pretty rough shape.)
> I should note that though Makefile.common does define a osi_crypto.o target, "make \
> -d A" reports: using existing source \
> /usr/devel/openafs/git/openafs/src/afs/FBSD/osi_crypto.c applying .c -> .o to \
> "osi_crypto.o"
>
> Thanks,
>
> Ben Kaduk<Makefile.txt><build.log>_______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic