src/Makefile, universe, LINT, VIMAGE, ..
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Mon Oct 26 19:25:04 UTC 2009
On Mon, 26 Oct 2009, John Baldwin wrote:
Hi,
>> @@ -345,3 +333,18 @@
>> fi
>> .endif
>> .endif
>> +
>> +universe_kernels: universe_kernels_foo
>> +TARGET?= ${BUILD_ARCH}
>> +KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \
>> + find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
>> + ! -name DEFAULTS ! -name NOTES
>> +KERNCONFS:= ${KERNCONFS}
>> +universe_kernels_foo:
>> +.for kernel in ${KERNCONFS}
>> + @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
>> + ${MAKE} ${JFLAG} buildkernel TARGET=${TARGET} KERNCONF=${kernel} \
>> + > _.${TARGET}.${kernel} 2>&1 || \
>> + (echo "${TARGET} ${kernel} kernel failed," \
>> + "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
>> +.endfor
>
> Hmm, I'm not sure why you need a universe_kernels_foo target that
> universe_kernels depends on?
This is all about make and the variables after a target and within a
target. Whatever else I tried: make complained. If you know the
rightbetter solution that works I'll be happy to simplify this and
update the patch.
It shouldn't be named _foo though;)
> Also, I would probably prefer to have
> universe_kernels come after universe_$target and before universe_epilogue.
I think that should be possible to sneak it in after the the .endfor.
>> Index: sys/conf/makeLINT.mk
>> ===================================================================
>> --- sys/conf/makeLINT.mk (revision 198467)
>> +++ sys/conf/makeLINT.mk (working copy)
>> @@ -5,7 +5,15 @@
>>
>> clean:
>> rm -f LINT
>> +.if ${TARGET} == "amd64" || ${TARGET} == "i386"
>> + rm -f LINT=VIMAGE
>> +.endif
>
> s/=/-/
Yeah, everyone notics that one; it should be fixed in the patch at the
URL originally referenced.
> BTW, I'm not sure why you would only enable VIMAGE for these two archs rather
> than doing it for all archs that have a LINT?
Because it'll usually simply not make any sense to build a VIMAGE
kernel for embedded platforms like arm, ... Also make universe time
increases significantly with any platform; indeed amd64 is the worst
now (again). We can talk about the proper set and I had thought of
sparc64 as well. Obviously just building it everywhere simplifies
things.
/bz
--
Bjoern A. Zeeb It will not break if you know what you are doing.
More information about the freebsd-arch
mailing list