Re: sys/conf/files aicasm

From: John Baldwin <jhb_at_freebsd.org>
Date: Fri, 24 Sep 2010 08:36:50 -0400
On Thursday, September 23, 2010 5:41:35 pm mdf_at_freebsd.org wrote:
> I can't say I understand much about the syntax of the top part of
> sys/conf/files, but this line:
> 
> 
> aicasm				optional ahc | ahd			   \
> 	dependency	"$S/dev/aic7xxx/aicasm/*.[chyl]"		   \
> 	compile-with	"CC='${CC}' ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile
> MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
> 	no-obj no-implicit-rule						   \
> 	clean		"aicasm* y.tab.h"
> 
> looks to me like aicasm should only be built if I have device ahc or
> device ahd in my kernel configuration file.
> 
> But even if I make a config file without those devices (e.g. by doing
> include GENERIC then nodevices ahc, ahd) the file is still built.  Am
> I missing something about how these lines in sys/conf/files work?

I think make buildkernel may build this explicitly rather than depending on 
the Makefile to do it.

> As a side question, why does the Makefile for dev/aic7xxx/aicasm have
> -I/usr/include in CFLAGS instead of using some marcos to get to the
> source tree I'm actually building from?

Because it needs to be built on the host and run on the host.  For a cross-
build the source tree you are building from might very well be for a different 
architecture and can't be used to build a binary that will run on the host.

-- 
John Baldwin
Received on Fri Sep 24 2010 - 11:17:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC